另一个MDX问题;
如本问题所述 MDX If statement syntax
我有一个包含4位数字的字符串值。我想评估该字符串的第一个数字或字符
所以我这样做是:
IIF(([Kostensoort].[Kosten code] >= 7000 AND [Kostensoort].[Kosten code] < 8000),
[Measures].[Inkoop bedrag] + [Measures].[Bank bedrag],
[Measures].[Inkoop bedrag])
我怀疑发生的事情,根据文件如下;
语法:IIF(Evalutation,true expression,false expression)
实际发生的是,在我尝试编写表达式时,评估返回false。我知道这一点,因为价值被打印出来。如果我输入一个静态数字,也会在我的立方体中打印出来。
是的,我确实知道我将Kosten代码的值解释为整数,即使它是一个字符串,我也尝试使用Instr和Left,这也没有产生任何结果。
我在这里不知所措。欢迎任何见解
答案 0 :(得分:1)
您需要确保抓住维度的当前成员。您的示例可能会返回“全部”
[Kostensoort].[Kosten code].currentMember
更改后,您可以使用StrToValue。
IIF((StrToValue([Kostensoort].[Kosten code].currentMember) >= 7000 AND [Kostensoort].[Kosten code] < 8000),
[Measures].[Inkoop bedrag] + [Measures].[Bank bedrag],
[Measures].[Inkoop bedrag])
答案 1 :(得分:0)
您应该将字符串转换为数值;尝试这样的事情:
CLng( [Kostensoort].[Kosten code] ) >= 7000