我正在开发SSAS中的多维数据集,我需要能够比较当前年份和去年之间的YTD值。
我有以下情况:
我需要比较特定月份预算“预算1 - 2016”和“预算2-2017”(不同预算类型和年份)之间的“比林斯”的年初至今价值。
但是如果它包含在过滤器中并且我选择了例如2016年2月和2017年2月,则结果不符合预期。
使用TAIL功能时,仅考虑较高的月份,并删除2016年的列。
有没有办法将日历月放入过滤器,从不同年份选择同一个月,并能够看到他们的年初至今价值?
答案 0 :(得分:0)
问题是您在过滤器中放了两个成员。 CurrentMember 不适用于两个元组。因此 [数据日期]。[日历] .CurrentMember 是 [数据日期]。[日历] .DefaultMember 是 [数据日期]。[日历]。[所有即可。它运行以下代码:
Sum(
PeriodsToDate(
[Data Date].[Calendar].[Calendar Year],
[Data Date].[Calendar].[All]
),
[Measures].[_Billings]
)
您选择的是不同年份的两个月,因此您不清楚要从 PeriodsToDate()函数返回什么。自2016年1月或2017年1月以来的数据?选择其中一个成员将解决您的问题,并明确说明。
我不保证这是完美的代码,但它也可能具有魔力,添加另一个计算成员来累计几个月:
Sum(
existing [Data Date].[Month].[Month].Members,
[Measures].[Billings]
)