1

如果我重命名我的措施并使用 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, HIERARCHY_UNIQUE_NAME, MEMBER_TYPE ON ROWS FROM (
    SELECT ({[Category].[Category].&[Oil]}, {[Year].[Year].&[2019]}) 
ON COLUMNS FROM [SIIBPAGESATDIREKTEF]) CELL PROPERTIES VALUE
4

1 回答 1

2

有两种更好的方法可以在不创建新措施的情况下实现您的目标:

  1. 在度量属性中使用 format_string 属性。

FormatString 属性接受由分号 (;) 分隔的四个参数。第一个参数是正值应该如何格式化,第二个是负值应该如何格式化,第三个参数是 0 值应该如何格式化,第四个参数是 NULL 应该如何格式化。第四个参数是我们感兴趣的!这是我如何格式化经销商销售额的示例:“#,##0.00;-#,##0.00;;0”。

在此处输入图像描述

  1. 在计算选项卡中使用 scoope 语句:

    范围([措施]。[col_]);THIS=IIF(ISEMPTY([Measures].[col_]),0,[Measures].[col_]); 结束范围;

访问:https ://sqldusty.com/2014/07/15/how-to-display-0s-instead-of-null-in-your-ssas-cube-mdx-query-results/

于 2020-11-05T22:33:55.027 回答