我有一个销售日历,其中一个月的日历逐年变化。例如,2015年9月定义为9月1日 - 9月30日,但去年9月3日至9月30日 因此,当我想比较今年时,2015年9月1日的MTD应该与2014年9月3日进行比较。我有时间维度中的所有日期,如最后MTD开始和最后MTD结束,并将它们放在层次结构中,DATE具有最后MTD开始和最后MTD结束,并尝试了祖先功能,如
index.js
但我只能收回当月的总量。
答案 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可以只导航该层次结构。