基于维度属性值计算的成员

时间:2013-10-29 23:02:25

标签: mdx dimension ssas-2008

我想在我的多维数据集中制作一些计算度量,它根据维度属性值有条件地使用度量表中的值。

例如:如果“文档”维度中的“文档状态”为CP,请使用“承诺值”度量。这就是我的意思:

CREATE MEMBER CURRENTCUBE.[Measures].CalcCommittedValue
 AS ([Document].[Document Status].&[CP], [Measures].[Committed Value]), 
FORMAT_STRING = "$#,##0;-$#,##0", 
VISIBLE = 1 ,  ASSOCIATED_MEASURE_GROUP = 'Document Total'  ;   

它看起来很有效,直到我开始浏览多维数据集并将Document Status和CalcCommittedValue放入浏览器。 “文档状态”的所有选项都显示相同的CalcCommittedValue。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

要正确执行此操作,请尝试使用SCOPE()语句...例如

CREATE MEMBER CURRENTCUBE.[Measures].[CalcCommittedValue]
AS

  SCOPE([Document].[Document Status].[&CP]);

   THIS = [Measures].[Committed Value];

  END SCOPE;

当[CP]的文档状态存在时,Scope语句将导致计算值,否则不会。非常强大的声明,应该让你想要你。