没有日期层次结构的累积量度

时间:2017-12-19 13:03:50

标签: ssas aggregate cube cumulative-sum

我对多维立方体的经验不多,我更喜欢SQL和表格建模。

我正在尝试创建一个计算的度量,它是跨时间段(月)的运行总计。问题是,我没有使用传统的日期维度,因为此“期间”维度具有“期初余额”类别。这是客户设定的要求。

[Dim Period]表非常简单,它有一个键,从201800开始,一直到201812. 201800是开放期。我试图创建一个简单的层次结构,尽管没有低于Period的属性。

到目前为止,我已经想出了这个;

WITH MEMBER [Measures].[YTD Total] AS
   Aggregate
        (
        PeriodsToDate
            (
            [Dim Period].[Period Hierarchy].[Period],
            [Dim Period].[Period Hierarchy].CurrentMember
            ),
        [Measures].[Total]
        )
SELECT
    {[Measures].[Total], [Measures].[YTD Total]} ON COLUMNS,
    {[Dim Period].[Period Hierarchy].[Period]} ON ROWS
FROM
    [My Cube]

这会在[Total]和[YTD Total]列中返回相同的值,所以我显然做错了。

作为参考,这是我在Tabular模型中创建的一个测量方法,它可以工作;

YTD Total:=CALCULATE([Total],FILTER(ALL(DimPeriod[Period]),DimPeriod[Period]<=MAX(DimPeriod[Period])))

任何指针都会受到极大的欢迎。

1 个答案:

答案 0 :(得分:1)

我想我找到了答案;

WITH MEMBER [Measures].[YTD Total] AS
   Aggregate
        (
        PeriodsToDate
            (
            [Dim Period].[Period Hierarchy].[(All)],
            [Dim Period].[Period Hierarchy].CurrentMember
            ),
        [Measures].[Total]
        )
SELECT
    {[Measures].[Total], [Measures].[YTD Total]} ON COLUMNS,
    {[Dim Period].[Period Hierarchy].[Period]} ON ROWS
FROM
    [My Cube]