我有计算来计算上一年的价值,通过以下方式实现:
([Measures].[SalesAmount LY], Leaves([Time])) =
(
PARALLELPERIOD
(
[Time].[Year - Month - Day].[Year],
1,
[Time].[Year - Month - Day].currentmember
),
[MEASURES].[SalesAmount]
)
我这样做,因为仅使用PARALLELPERIOD会导致在仅选择几个月时的总计算错误。它工作得很好。
但是,现在我面临着闰年的问题:
Month SalesAmount SalesAmount LY
------------- ------------ ---------------
January 2012 1000
February 2012 1100 --Leap year - 29.February
January 2013 1200 1000
February 2013 1300 1050
缺失值(本例中为1100 - 1050 = 50)与2012年2月29日的值完全相同。
有谁知道如何解决这个问题?如何使闰年正常工作,同时仍保持正确的总计行为?任何帮助都会受到高度赞赏。
答案 0 :(得分:0)
这可以帮忙吗?
PARALLELPERIOD
(
[Time].[Year - Month - Day].[Year],
1,
ISLEAF([Time].[Year - Month - Day].currentmember),
Ancestor([[Time].[Year - Month - Day].currentmember, [Time].[Year - Month - Day].[Month]),
[Time].[Year - Month - Day].currentmember)
),
[MEASURES].[SalesAmount]
如果当前成员是一天,它将引用他的月份父母,所以月份有28天或29天无关紧要。