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

Mdx 基于维度属性值计算的成员,mdx,dimension,ssas-2008,Mdx,Dimension,Ssas 2008,我想在多维数据集中创建一些计算度量值,这些度量值根据维度属性值有条件地使用度量表中的值 例如:如果文档维度中的文档状态为CP,则使用提交值度量。这就是我所拥有的: CREATE MEMBER CURRENTCUBE.[Measures].CalcCommittedValue AS ([Document].[Document Status].&[CP], [Measures].[Committed Value]), FORMAT_STRING = "$#,##0;-$#,##0",

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

例如:如果文档维度中的文档状态为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'  ;   
在我开始浏览多维数据集并将文档状态和CalcCommittedValue放入浏览器之前,它看起来是有效的。文档状态的所有选项都显示相同的CalcCommittedValue


谢谢你的帮助

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

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

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

   THIS = [Measures].[Committed Value];

  END SCOPE;

只要[CP]的文档状态存在,范围语句就会导致计算该值,否则不会。非常有力的陈述,应该能够满足您的需求。

您希望与您看到的结果有什么不同?您使用的表达式指示Analysis Services使用
CP
文档状态来确定结果,而不管单元格的文档状态如何。感谢您的评论,我显然有很多关于MDX的信息需要了解。我很快就会订购一本关于这个主题的书。谢谢Josh,这就是我最终得到的,到目前为止,非常好:创建成员CURRENTCUBE。[Measures].[CalcCommittedValue]为0,格式为字符串=“$,##0;-$,###0”,可见=1,关联的#度量值#组='Document Total';范围[措施][计算委员会价值];范围【文件】【文件状态】和【CP】;This=[Measures].[Committed Value];终端范围;范围【文件】【文件状态】【全部】;This=([Document].[Document Status].&[CP],[Measures].[Committed Value]);终端范围;终端范围;我在这里找到了更多: