【问题标题】:Cross join multiple measure groups in MDX在 MDX 中交叉加入多个度量值组
【发布时间】:2013-01-06 14:51:39
【问题描述】:

我有两个维度和一个度量值组:[Time].[Day]、[Scenario].[Scenario] 和包含两个度量值的度量值组,[Measures].[CleanPrice] 和 [Measures].[DirtyPrice] ]

我从以下结果开始,效果很好:

                   01-01-2011  01-01-2012
Base  CleanPrice      100         100
Base  DirtyPrice      100         100
Up1%  CleanPrice      101         101
Up1%  DirtyPrice      101         101

真正想要生成的是一个计算成员来显示度量,以及当前场景和基本场景之间的增量。

期望的结果应如下所示:

                         01-01-2011  01-01-2012
Base  CleanPrice  Value    100         100
Base  CleanPrice  Delta    0           0
Base  DirtyPrice  Value    100         100
Base  DirtyPrice  Delta    0           0
Up1%  CleanPrice  Value    101         101
Up1%  CleanPrice  Delta    1           1
Up1%  DirtyPrice  Value    101         101
Up1%  DirtyPrice  Delta    1           1

我尝试过这样的事情,但无法交叉加入度量值组:

WITH MEMBER [Value] as [Measures].CurrentMember
MEMBER [Delta] as [Measures].CurrentMember - ([Scenario].[Scenario].&[0], [Measures].CurrentMember)
SELECT NON EMPTY 
{ [Time].[Day].&[2011-01-01T00:00:00], [Time].[Day].&[2012-01-01T00:00:00] }
ON COLUMNS,
{ [Scenario].[Scenario].&[0], [Scenario].[Scenario].&[1] }  * 
{ [Measures].[CleanPrice], [Measures].[DirtyPrice] } *
{ [Value], [Delta] }
ON ROWS
FROM Results

我创建了两个计算成员,[Value] 简单地作为当前度量,[Delta] 采用当前度量,并获得该度量与基本方案的差异。

我想交叉加入具有干净价格和脏价格的度量值组,以及两个计算成员的度量值组,但这是不可能的。

有没有什么方法可以产生想要的结果?我想避免创建度量 [CleanPrice Delta] 和 [DirtyPrice Delta],因为我实际上有很多。

【问题讨论】:

    标签: ssas mdx cross-join


    【解决方案1】:

    一种方法是创建一个新维度,例如[Metric],其中有两个成员[Value][Delta]。然后按照以下几行将 MDX 写入计算脚本:

    SCOPE ([Metric].[Delta], [Scenario].[Scenario].[Scenario]);
        this =   ([Metric].[Value], [Scenario].[Scenario].currentmember)
               - ([Metric].[Value], [Scenario].[Scenario].&[0]);
    END SCOPE;
    

    这将自动适用于链接到[Scenario] 维度的所有度量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-05
      • 1970-01-01
      • 2012-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多