如何使用MDX确定用户在数据透视表中使用的度量?

时间:2012-09-10 18:53:15

标签: ssas mdx

我的多维数据集中有一个帐户维度,以及一个自定义聚合,它采用我的CAD度量并根据它的帐户进行划分。

现在,我需要在多维数据集中添加另一个称为USD的度量,并且根据用户在数据透视表中查看的度量,我需要使用CAD或USD进行自定义汇总计算。

我希望像

这样的东西

IIF([Measures].CurrentMember.Name = "CAD", [Measures].[CAD] / xxx, [Measures].[USD] / xxx)

会工作,但我还没有测试过,因为我不知道一个非常好的方法来调试它而不更改我的基础表并重新处理整个多维数据集(这需要相当长的一段时间)。

我正在使用的平台是SSAS 2008R2。

请给我一些解决这个问题的建议。谢谢!

修改:MSDN网站说:

  

当维度仅包含单个可见层次结构时,可以通过维度名称或层次结构名称引用层次结构,因为维度名称已解析为其唯一可见的层次结构。例如,Measures.CurrentMember是一个有效的MDX表达式,因为它解析为Measures维度中的唯一层次结构。

我相信我上面给出的表达式不起作用,因为[Measures]在这种情况下指向帐户维度层次结构。

1 个答案:

答案 0 :(得分:2)

  

我相信我上面给出的表达方式不会起作用   在这种情况下,[度量]指向帐户维度层次结构。

Nope:[Measures]将始终引用您多维数据集中唯一的[Measures]维度。

如果要访问当前[帐户]成员,请使用[帐户] .CurrentMember(如果多个,可以添加层次结构);但是从你的问题来看,目前尚不清楚你要解决的问题。