零时SSAS计算Format_string

时间:2017-09-27 16:39:39

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

我有以下计算:

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],IIF中的条件仍会返回false。[Fact Daily] = 0.

如何格式化0值?

1 个答案:

答案 0 :(得分:0)

要格式化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;

更新:但它会执行以下操作:

if [Measures]。[Fact Daily]值<> 0和[指标]。[是百分比]。& [1]然后格式化为百分比

if [Measures]。[Fact Daily]值<> 0和[指标]。[是百分比]。& [0]然后格式化为数字

如果[Measures]。[Fact Daily]值= 0并且无论选择哪个[指标]。[Is Percent]被选中,它形成为百分比 !!!

所以我继续调查问题