我创建了一个进行时间计算的范围。问题是我需要为大多数测量计算这些计算,并且对某些特殊测量没有任何作用。我知道我想要超出范围的措施(例如[Measures].[Stock Unit Close]
)。另外,计算该度量。
我尝试使用
scope(EXCEPT([Measures].allmembers, [Measures].[Stock Unit Close]));
...;
end scope;
但它不起作用。它以此错误结束
遇到无法包含计算成员的集合。 MdxScript(Core)(1510,2)遇到一个不能包含计算成员的集合。 END SCOPE语句与开始的SCOPE语句不匹配。 MdxScript(Core)(1568,1)END SCOPE语句与开始的SCOPE语句不匹配。 MDX脚本中遇到一个或多个错误。
此外,此代码仅适用于自然度量,但不适用于计算度量。
有人可以帮助我吗?
答案 0 :(得分:0)
我知道它并不完全是你想要的,因为你必须分别对所有测量组进行SCOPE。但至少不是每项措施。
这适用于来自度量组的自然和计算度量。
E.g。度量组名称是"激活",从SCOPE中排除一个度量。
scope(MeasureGroupMeasures("Activations")-[Measures].[Average Activation Amount]);
this=1;
end scope;
或
scope(EXCEPT(MeasureGroupMeasures("Activations"),[Measures].[Client Accommodation Amount]));
this=1;
end scope;
答案 1 :(得分:0)
您可以跳过单词SCOPE
并执行您想要的操作:
(EXCEPT([Measures].allmembers, [Measures].[Stock Unit Close])) = 123;
这个技巧是一种隐藏的方式,可以同时对物理和计算的度量进行调整。