Ssas MDX查询-如何在交叉连接中将null替换为0

Ssas MDX查询-如何在交叉连接中将null替换为0,ssas,mdx,Ssas,Mdx,我需要在mdx查询的交叉连接结果中用0替换空值 这是我的疑问: 我已经尝试在计算成员中使用coalesceempty,但替换了NonEmptyCrossjoin之前的所有null(查询甚至没有回答) 理想的解决方案是仅在非空交叉连接之后替换空值。实现这一点的正确方法是什么 谢谢 尊敬的克里斯蒂安娜·迪亚斯您能尝试一下: WITH MEMBER [Measures].[X] AS ([Indicador].[Indicador Descrição].&[X],[Measures].

我需要在mdx查询的交叉连接结果中用0替换空值

这是我的疑问:



我已经尝试在计算成员中使用coalesceempty,但替换了NonEmptyCrossjoin之前的所有null(查询甚至没有回答)

理想的解决方案是仅在非空交叉连接之后替换空值。实现这一点的正确方法是什么

谢谢

尊敬的克里斯蒂安娜·迪亚斯

您能尝试一下:

WITH

MEMBER [Measures].[X] AS

([Indicador].[Indicador Descrição].&[X],[Measures].[MONTANTE]), FORMAT_STRING = '#,##0.00;-#,##0.00;;0'

MEMBER [Measures].[Y] AS

([Indicador].[Indicador Descrição].&[Y],[Measures].[MONTANTE]), FORMAT_STRING = '#,##0.00;-#,##0.00;;0'

SELECT

NON EMPTY {[Measures].[X],[Measures].[Y]} ON COLUMNS,

NON EMPTY{[Classificador Orgânico].[A].children*

[Programas e Medidas].[A].children*

[Classificador Económico Despesa].[A].children*

[Classificador Económico Despesa].[B].children*

[Classificador Económico Despesa].[C].children*

[Classificador Económico Despesa Rubricas].[A].children*

[Classificador Económico Despesa Rubricas].[B].children*

[Fonte de Financiamento].[A].children} ON ROWS

FROM [Cube]

WHERE ([Calendar].[Year].&[2018],[Calendar].[Month].&[04])
我刚刚添加了格式字符串。第一个参数是正值应如何格式化,第二个参数是负值应如何格式化,第三个参数是0值应如何格式化,第四个参数是NULL应如何格式化-改为显示0

像这样使用coalescepty或isEmpty的问题

IIF(ISEMPTY(([Indicador].[Indicador Descrição].&[X],[Measures].[MONTANTE])) , 0 , ([Indicador].[Indicador Descrição].&[X],[Measures].[MONTANTE]))  

因为您正在用零填充多维数据集中的空单元格,所以交叉联接的结果集将非常庞大,查询可能根本无法完成。

谢谢您的回复!正如您所建议的,我尝试使用format_string,但我仍然在交叉连接结果中得到空值。这很奇怪,因为我们为这两个度量值都定义了format_string for NULL。也许您可以尝试清除MDX查询现金,只是为了确保您没有得到现金结果。
IIF(ISEMPTY(([Indicador].[Indicador Descrição].&[X],[Measures].[MONTANTE])) , 0 , ([Indicador].[Indicador Descrição].&[X],[Measures].[MONTANTE]))