如何解决SSAS 多维数据集计算成员无穷大总计值
我正在使用实时连接 SSAS 多维数据集处理 Power BI。我有两个维度表 Customer 和 Year 以及一个事实表。我想生成一份报告,显示每年公民的销售额比例。我在 SSAS Cube 上使用了这个 MDX 表达式来创建一个新的计算成员。
(([Year].[Year].currentmember,[Dim Customer].[Cittzenship].currentmember),[Measures].[Totale Sales]) /([Cittzenship].currentmember.parent,[Measures].[Totale Sales])
查询结果按预期工作,但在 Power BI 报告表上,总值是无穷大。 Result
我一直在解决这个问题。如果有人指导我如何解决这个问题,我很乐意。
解决方法
原因可能是对于总计,父项不存在,因此计算时将其值替换为 null。在大多数情况下,SSAS 将 null 替换为 0,因此除法是 0,这在数学上是无穷大。您可以做的是使用 Divide
函数而不是 /
,这正是用于此目的,因为它提供与 /
相同的结果,除非除数为零,在在这种情况下,它会传递 null。
顺便说一句:Divide
是在 SSAS 2012 中引入的,所以如果您至少不在那个版本上,您将不得不使用像 IIf(divisor <> 0,dividend / divisor,null)
这样的构造,这正是 {{1 }} 被定义为。就像我说的
上面,在MDX中对比SQL,比较0也隐式比较null。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。