如何创建一个SSAS计算成员,该成员在上一年到当前日期(前一年)之前总和?

时间:2013-10-16 18:53:27

标签: ssas mdx calculated-columns

我确信之前已经解决了这个问题,但我一直无法找到它。我找到了与给定日期的单个MDX查询相关的答案,但我不知道如何将其转换为定期运行的SSAS多维数据集的计算成员。

我想在SSAS中创建一个计算成员,该成员将上一年开始时的收入与当前成员相加,但停止和前一年的当前日期。例如,今天是2013年10月16日。我希望这个计算成员提供年初至今的总和,其中包括截至2012年10月16日的收入。这使得2012年第四季度的汇总仅包括2012年第四季度的前16天,而不是全年。

以下是今年迄今为止计算成员的当前定义:

SUM(
        YTD(
        ParallelPeriod([Time Order Date].[Order Date Calendar Hierarchy].[Year], 
        1,
        [Time Order Date].[Order Date Calendar Hierarchy].CurrentMember
        )
    ),
        [Measures].[Product Rev (with ship, with disc)]
    )

FWIW,我的时间维度表包含可以使用的一年中的所有日期,季度,日期等所有列。

谢谢, - sw

1 个答案:

答案 0 :(得分:0)

我对这个问题也很感兴趣,但我不会使用YTD功能,因为它只能用于日历年。使用您的数据元素和层次结构我会将其更改为使用PeriodsToDate函数:

Aggregate(  PeriodsToDate(  [Time Order Date].[Order Date Calendar Hierarchy].[Year]
                            ,ParallelPeriod(    [Time Order Date].[Order Date Calendar Hierarchy].[Year]
                                                    ,1
                                                    ,[Time Order Date].[Order Date Calendar Hierarchy].CurrentMember
                                                )
                             )
                ,[Measures].[Product Rev (with ship, with disc)]
             )