1

我的立方体中有以下脚本:

/*
The CALCULATE command controls the aggregation of leaf cells in the cube.
If the CALCULATE command is deleted or modified, the data within the cube is affected.
You should edit this command only if you manually specify how the cube is aggregated.
*/
CALCULATE;   

CREATE MEMBER CURRENTCUBE.[Measures].[Scope TEST]
 AS 
STRTOVALUE(2), 
VISIBLE = 1;  

SCOPE([Locations].[LocationName].Members, [Measures].[Scope TEST]); 
this = SUM([Locations].CURRENTMEMBER, STRTOVALUE(1)); 
END SCOPE;   

我希望脚本执行以下操作;

我有 5 个位置,所以当我添加度量时scope test,它应该显示1在每一行之后。这很好。

但是,它不会在总计行中显示 5。

这是我尝试使用的脚本的简化版本。在那个脚本中,我还没有使用范围,但是有或没有范围声明,这并不重要,因为没有区别。

如果有人能指出我正确的方向,任何帮助将不胜感激。

4

1 回答 1

1

您看到总数中有 1 个吗?如果是这样,则可能是 SUM(ALL, 1) = 1,因为 ALL 成员在某种程度上算作单个成员。

尝试像这样将所有成员的后代添加到计数中,并让我们知道它是如何进行的:

SCOPE([Locations].[LocationName].Members, [Measures].[Scope TEST]); 
this = SUM(DESCENDANTS([Locations].CURRENTMEMBER, , AFTER), STRTOVALUE(1)); 
END SCOPE;   

Descendants 函数将返回后代集,因此 All 成员将为该集评估其所有子项(成员)。所以你会得到五个成员,加起来每个成员应该给你数字 5。

于 2013-07-19T14:31:55.123 回答