我想在我的多维数据集中制作一些计算度量,它根据维度属性值有条件地使用度量表中的值。
例如:如果“文档”维度中的“文档状态”为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。
感谢您的帮助!
答案 0 :(得分:1)
要正确执行此操作,请尝试使用SCOPE()语句...例如
CREATE MEMBER CURRENTCUBE.[Measures].[CalcCommittedValue]
AS
SCOPE([Document].[Document Status].[&CP]);
THIS = [Measures].[Committed Value];
END SCOPE;
当[CP]的文档状态存在时,Scope语句将导致计算值,否则不会。非常强大的声明,应该让你想要你。