SSAS多维数据集计算的成员无穷大合计值

SSAS多维数据集计算的成员无穷大合计值,ssas,mdx,powerbi-desktop,Ssas,Mdx,Powerbi Desktop,我正在使用SSAS多维数据集进行电源BI连接。我有两个维度表,客户和年份,还有一个事实表。我想生成一份报告,显示每年按国籍划分的销售额比例。我在SSAS多维数据集上使用这个MDX表达式来创建一个新的计算成员 (([Year].[Year].currentmember,[Dim Customer].[Cittzenship].currentmember),[Measures].[Totale Sales]) /([Cittzenship].currentmember.parent,[Measure

我正在使用SSAS多维数据集进行电源BI连接。我有两个维度表,客户和年份,还有一个事实表。我想生成一份报告,显示每年按国籍划分的销售额比例。我在SSAS多维数据集上使用这个MDX表达式来创建一个新的计算成员

(([Year].[Year].currentmember,[Dim Customer].[Cittzenship].currentmember),[Measures].[Totale Sales]) /([Cittzenship].currentmember.parent,[Measures].[Totale Sales])
查询结果按预期工作,但在power BI报告表上,总值为无穷大。


我一直在解决这个问题。如果有人指导我如何解决这个问题,我会很高兴。

原因可能是,对于合计,父项不存在,因此,其值在计算中被null替换。在大多数情况下,SSAS将null替换为0,因此除法为0,数学上为无穷大。您可以使用
除法
函数,而不是
/
,这正是出于此目的,因为它提供与
/
相同的结果,除数为零的情况除外,在这种情况下,它提供空值

顺便说一句:
Divide
是在SSAS 2012中引入的,因此,如果您至少不在该版本中,您必须使用类似于
IIf(除数0,除数/除数,null)
的构造,这正是
Divide(除数,除数)
的定义方式。就像我说的
如上所述,在MDX中,与SQL相比,与0的比较也隐式地与null进行比较。

Thanky you@FrankPL。我使用IIF函数来避免被零除。