【问题标题】:SSAS Calculation Format_string when zeroSSAS 计算 Format_string 时为零
【发布时间】:2017-09-27 16:39:39
【问题描述】:

我有以下计算:

SCOPE ({[Measures].[Fact Daily],[Measures].[Fact Last]});
    FORMAT_STRING(THIS) = IIF([Indicators].[Is Percent].&[1],'0.0%','#,0.0')
END SCOPE;

它工作正常,但现在我的事实表中有一些值等于零 (=0)。这是真正的 0,而不是 NULL 或空或其他东西。 所以,问题是:如果 [Measures].[Fact Daily] = 0,IIF 中的条件无论如何都会返回 false。

如何格式化 0 值?

【问题讨论】:

    标签: sql-server ssas zero calculation format-string


    【解决方案1】:

    要格式化 0 值,我必须更改 IIF 条件。 解决方案是:

    SCOPE ({[Measures].[Fact Daily],[Measures].[Fact Last]});
        FORMAT_STRING(THIS) = IIF(
            [Indicators].[Is Percent].CURRENTMEMBER = [Indicators].[Is Percent].&[1]
            ,'0.0%'
            ,'#,0.0')
    END SCOPE;
    

    更新:但它做了以下事情:

    如果 [Measures].[Fact Daily] 值 0 和 [Indicators].[Is Percent].&[1] 则格式为 percent

    如果 [Measures].[Fact Daily] 值 0 和 [Indicators].[Is Percent].&[0] 则格式为 number

    如果 [Measures].[Fact Daily] value = 0 并且无论选择哪个 [Indicators].[Is Percent],它都会形成 percent!!!

    所以我继续调查问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多