数据透视表中的百分比(行和列上的相同维度)

时间:2013-11-06 05:52:06

标签: mdx

举个例子,实际上有数百个不同的值:

      A=200 B=100 C=25

     so A/A = 100%, A/B = 200%, A/C = 800% etc., 

我需要使用MDX获得类似于下表的内容,列是分母,行是分子:

      A    B    C 
A   100%  50%  12.5%


B   200% 100%  25%


C   800% 400%  100%

谢谢!

1 个答案:

答案 0 :(得分:0)

主要问题是您希望在两个轴上拥有层次结构。这在MDX中是不可能的。您可以做的是将包含它的维度第二次添加到多维数据集,给它另一个名称,类似于使用“角色扮演维度”,但不定义任何关系。这意味着查看多维数据集,选项卡“维度用法”,新维度的整行将为空(灰色)。然后,用户可以将一个层次结构拖到行中,将另一个层次结构拖到列中。

由于你没有说出姓名,我只想假设以下内容:

  • 您目前所拥有的层次结构名为[Orig].[Hier]
  • 您添加的层次结构名为[Copy].[Hier]
  • 到目前为止(200,100,25)的度量称为Value
  • 您需要的指标(100%,200%,...)称为Ratio

然后按如下方式定义度量Ratio

([Orig].[Hier].CurrentMember, [Measures].[Value]) 
/
(LinkMember([Copy].[Hier].CurrentMember, [Orig].[Hier]),  [Measures].[Value])
,FORMAT_STRING='#.#%'