我有以下计算:
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值?
答案 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]被选中,它形成为百分比 !!!
所以我继续调查问题