在我的MDX查询中,我在SELECT语句中使用这组度量:
With SET [Selected Measures] AS {
[Measures].[CTR],
[Measures].[Cost],
[Measures].[Clicks]
}
我希望在我的结果中替换'0'中的NULL值。
怎么做?
答案 0 :(得分:1)
尝试重新定义您的指标:
With member [Measures].[Not Null CTR] as Iif( IsEmpty( [Measures].[CTR] ), 0, [Measures].[CTR] )
...
Select { [Measures].[Not Null CTR], ...} on Columns
...
可能更改某些更好的度量名称或将列重命名为客户端上的原始名称。
编辑:如果你想保留客户输出的名称和名称只是CTR等(没有括号或Measures前缀),你可以在某处获得额外的维度(在其他任何地方都不使用)在查询中),您可以在该额外维度中定义这些新成员:
With member [My Other Dim].[CTR] as Iif( IsEmpty( [Measures].[CTR] ), 0, [Measures].[CTR] )
...
Select { [My Other Dim].[CTR], ...} on rows,
...
绝对不是一个优雅的解决方案,但它确实有效。
答案 1 :(得分:0)
是否有可能触及立方体设计?如果需要,则需要打开多维数据集解决方案,导航到“计算”选项卡并添加以下代码。然后部署更改。
SCOPE([Measures].[CTR]);
IF THIS IS NULL THEN this = 0 END IF;
END SCOPE;
SCOPE([Measures].[Cost]);
IF THIS IS NULL THEN this = 0 END IF;
END SCOPE;
SCOPE([Measures].[Clicks]);
IF THIS IS NULL THEN this = 0 END IF;
END SCOPE;
答案 2 :(得分:0)
基于第一个答案,这是一种适用于多维数据集中所有度量的方法:
SCOPE([Measures].MEMBERS);
THIS = IIF(IsEmpty([Measures].CurrentMember) , 0, [Measures].CurrentMember);
END SCOPE;
希望有帮助。