SSAS去年MTD计算不规则Calnedar

时间:2015-09-03 14:49:17

标签: ssas mdx ssas-2012

我有一个销售日历,其中一个月的日历逐年变化。例如,2015年9月定义为9月1日 - 9月30日,但去年9月3日至9月30日 因此,当我想比较今年时,2015年9月1日的MTD应该与2014年9月3日进行比较。我有时间维度中的所有日期,如最后MTD开始和最后MTD结束,并将它们放在层次结构中,DATE具有最后MTD开始和最后MTD结束,并尝试了祖先功能,如

index.js

但我只能收回当月的总量。

1 个答案:

答案 0 :(得分:2)

假设您有维度包含日期,销售月份和销售年份,则以下内容应该有效。如果您过滤到2015-09-01(这是第9个销售月的第一天),这将退回一个销售年度,然后找到第9个销售月的第一天(2014-09-03):

ParallelPeriod(
    [Date].[Sales Calendar].[Sales Year], 
    1, 
    [Date].[Sales Calendar].CurrentMember
   )

然后,您想要总结2014-09-03销售月份的日期:

Sum(
  PeriodsToDate(
    [Date].[Sales Calendar].[Sales Month],
    ParallelPeriod(
        [Date].[Sales Calendar].[Sales Year], 
        1, 
        [Date].[Sales Calendar].CurrentMember
       )
    ),
  [Measures].[Volume]
 )

因此,艰苦的工作是以正确的销售月份来构建维度。 MDX可以只导航该层次结构。

相关问题