在计算成员中使用 IIF 时,ssas 总计计算不正确
ssas total calculation incorrect when using IIF in calculated member
我不明白为什么计算成员的总计显示不正确。我应该如何更改计算成员才能使其正常工作?
计算成员:
CREATE MEMBER CURRENTCUBE.[Measures].AverageScore
AS IIF([Measures].[Distance]<2001,0,[Measures].[avgscore]/[Measures].[Date Count]),
VISIBLE = 1;
计算总计似乎没有检查 "AverageScore" 该月的值。
谢谢
如果 avgscore 是您不希望可见的隐藏度量,如果它是物理度量而不是计算度量,请尝试在当前计算之前添加它:
Scope([Driver Dim].[Driver].[Driver].Members, [Date].[Month].[Month].Members);
[Measures].[avgscore] = iif([Measures].[Distance]<2001,Null,[Measures].[avgscore]);
End scope;
这应该将低距离 driver 个月的 avgscore 归零,以便总计正确。如果这不起作用,请进一步解释 avgscore。
每个 driver 每月有多少行?我假设不止一个,否则我会告诉你在 SQL 中进行 <2001 年检查。
我不明白为什么计算成员的总计显示不正确。我应该如何更改计算成员才能使其正常工作?
计算成员:
CREATE MEMBER CURRENTCUBE.[Measures].AverageScore
AS IIF([Measures].[Distance]<2001,0,[Measures].[avgscore]/[Measures].[Date Count]),
VISIBLE = 1;
计算总计似乎没有检查 "AverageScore" 该月的值。
谢谢
如果 avgscore 是您不希望可见的隐藏度量,如果它是物理度量而不是计算度量,请尝试在当前计算之前添加它:
Scope([Driver Dim].[Driver].[Driver].Members, [Date].[Month].[Month].Members);
[Measures].[avgscore] = iif([Measures].[Distance]<2001,Null,[Measures].[avgscore]);
End scope;
这应该将低距离 driver 个月的 avgscore 归零,以便总计正确。如果这不起作用,请进一步解释 avgscore。
每个 driver 每月有多少行?我假设不止一个,否则我会告诉你在 SQL 中进行 <2001 年检查。