在计算成员中使用IIF时,ssas总计算不正确

时间:2015-10-27 16:15:50

标签: ssas mdx olap bids

我无法理解为什么计算出的成员总数显示不正确。我应该如何更改计算成员才能使其正常工作?

计算会员:

 CREATE MEMBER CURRENTCUBE.[Measures].AverageScore
    AS IIF([Measures].[Distance]<2001,0,[Measures].[avgscore]/[Measures].[Date Count]),
 VISIBLE = 1;

enter image description here

似乎Total的计算没有检查当月“AverageScore”中的值。

感谢

1 个答案:

答案 0 :(得分:1)

如果avgscore是一个隐藏的衡量标准,你不想看到它,如果它是一个物理尺度而非计算尺度,请尝试在当前计算之前添加它:

Scope([Driver Dim].[Driver].[Driver].Members, [Date].[Month].[Month].Members);
  [Measures].[avgscore] = iif([Measures].[Distance]<2001,Null,[Measures].[avgscore]);
End scope;

这应该为低距离驾驶员月份归零avgscore,以便总计将正常工作。如果这不起作用,那么进一步解释avgscore。

每个驱动程序每月有多少行?我假设不止一个,否则我会告诉你在SQL中执行&lt; 2001检查。