问题描述
如果我重命名我的度量并使用COALESCEEMPTY,则效果很好,但是我需要保持度量的真实名称。是否有人知道如何用0代替空值而不必重命名度量。
WITH
MEMBER [Measures].[col_] AS COALESCEEMPTY([Measures].[col],0)
MEMBER [Measures].[col2_] AS COALESCEEMPTY([Measures].[col2],0)
MEMBER [Measures].[col3_] AS COALESCEEMPTY([Measures].[col3],0)
Select
NON EMPTY {[Measures].[col_],[Measures].[col2_],[Measures].[col3_]}
DIMENSION PROPERTIES PARENT_UNIQUE_NAME,HIERARCHY_UNIQUE_NAME,MEMBER_TYPE ON COLUMNS,NON EMPTY Hierarchize({DrilldownLevel({[Region].[Region].[All]})})
DIMENSION PROPERTIES PARENT_UNIQUE_NAME,MEMBER_TYPE ON ROWS FROM (
SELECT ({[Category].[Category].&[Oil]},{[Year].[Year].&[2019]})
ON COLUMNS FROM [SIIBPAGESATDIREKTEF]) CELL PROPERTIES VALUE
解决方法
有两种更好的方法可以实现目标,而又无需制定新措施:
- 在度量属性中使用format_string属性。
FormatString属性接受以分号(;)分隔的四个参数。第一个参数是应如何格式化正值,第二个参数是应如何格式化负值,第三个参数是应如何格式化0值,第四个参数是应如何格式化NULL。第四个参数是我们感兴趣的参数! 这是我如何格式化转销商销售金额的示例:“#,## 0.00;-#,## 0.00 ;; 0”。
-
在“计算”标签中使用scoope语句:
SCOPE([Measures]。[col_]); THIS = IIF(ISEMPTY([Measures]。[col _]),0,[Measures]。[col_]); 结束范围;