【问题标题】: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!!!
所以我继续调查问题