【问题标题】:Getting year-end values from prior year on each result row of MDX query在 MDX 查询的每个结果行上获取上一年的年终值
【发布时间】:2015-10-30 22:51:53
【问题描述】:

我有一个快照事实表,其时间粒度为每月,因此度量值只是时间点,而不是随时间累积的。我需要派生一个上年末值,以将任何给定月份的值与上一年末进行比较,如下所示:

|月 | VAL1 |上一篇YEVal |

| 2014-10 | 101 | 100 |

| 2014-11 | 103 | 100 |

| 2014-12 | 105 | 100 |

| 2015-01 | 110 | 105 |

| 2015-02 | 115 | 105 |

| 2015-03 | 113 | 105 |

...

| 2015-12 | 120 | 105 |

| 2016-01 | 130 | 120 |

等等……

我正在使用 SSAS,并且时间维度表是这样设置的,具有年->季度->月->日层次结构。

我可以找到上个月的解决方案、滚动月份数并获得 YTD 累积值,但这是一个直接的时间点到时间点比较。

我正在尝试使用 Lag、Ancestor 和/或 ParallelPeriod,但我似乎无法获得上述结果集。

【问题讨论】:

    标签: ssas mdx msbi cube-script


    【解决方案1】:

    试试:

    Create member CurrentCube.[Measures].[PrevYEVal] as null;
    Scope([Date].[Calendar Hierarchy].[Month].Members);
      [Measures].[PrevYEVal]=([Date].[Calendar Hierarchy].CurrentMember.Parent.Parent.PrevMember.LastChild.LastChild, [Measures].[Val1]);
    End scope;
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多