MDX TTM计算成员 - 日级别

时间:2013-04-04 15:47:52

标签: mdx leap-year

我需要创建一个计算成员来计算与所选日期(日级别)相关联的TTM(尾随十二个月)的收入。

我试过这样的事情:

SUM(
    {
        [Accounting Effective Date].[Date Hierarchy].CurrentMember.Lag(365)
        : [Accounting Effective Date].[Date Hierarchy].CurrentMember
    },  
    [Measures].[Revenue]
)

但这对闰年不起作用,例如,如果我选择2013-01-01而不是返回2012-01-02。

我也试过这个,但这个也不好,因为它需要一个月的第一天:

SUM(
    {
        [Accounting Effective Date].[Date Hierarchy].CurrentMember.Parent.Lag(12).FirstChild 
        : [Accounting Effective Date].[Date Hierarchy].CurrentMember
    },  
    [Measures].[Revenue]
)

日期hierarhy如下: 年份>季度>月份>日期

1 个答案:

答案 0 :(得分:0)

以下查询可以提供帮助,它使用表弟函数返回上一年的日期。

with member [Measures].[TestValue] as 
(cousin([Date].[Calendar].currentmember,[Date].[Calendar].currentmember.parent.parent.lag(1)),[Measures].[Internet Sales Amount])
member [Measures].[TestDate] as 
cousin([Date].[Calendar].currentmember,[Date].[Calendar].currentmember.parent.parent.lag(1)).item(0).name
select
{[Measures].[Internet Sales Amount],[Measures].[TestValue],[Measures].[TestDate]}
on columns,
{
[Date].[Calendar].[Date].&[20130922]
}
on rows from 
[adventure works]

enter image description here