如何通过mdx计算4个月的累积值?

如何通过mdx计算4个月的累积值?,mdx,Mdx,如何在mdx查询中计算最近3个月的累计值+当前月值 如果我选择May,那么它将给出该集合的累积值{Feb,March,April,May}我发布了一个非常有用的例子: Aggregate( LastPeriods( 3, StrToMember('[Date].[Calendar].[Month].&[' + Format(Now(),'yyyyMM') + ']') ), [Measures].[YourNotCalulatedM

如何在
mdx
查询中计算最近3个月的累计值+当前月值


如果我选择May,那么它将给出该集合的累积值{Feb,March,April,May}

我发布了一个非常有用的例子:

Aggregate(
    LastPeriods(
        3,
        StrToMember('[Date].[Calendar].[Month].&[' + Format(Now(),'yyyyMM') + ']')
    ),
    [Measures].[YourNotCalulatedMeasure]        
)

如果您需要覆盖不同的计数以及总和,则使用
聚合
函数,但如果不需要不同的计数,则可以简单地使用
总和

如果您选择了一个月,或者在行上选择了一个月,则要返回所选的月份,应执行以下操作:

[Date].[Date - Calendar Month].CurrentMember
要返回3个月,您可以添加
LAG
功能:

[Date].[Date - Calendar Month].CurrentMember.LAG(3)
现在,使用
操作符获取此月数范围:

[Date].[Date - Calendar Month].CurrentMember.LAG(3) 
: 
[Date].[Date - Calendar Month].CurrentMember
因此,现在可以将其用于一个特定的衡量标准,例如收入,如下所示:

SUM(
  [Date].[Date - Calendar Month].CurrentMember.LAG(3) 
  : 
  [Date].[Date - Calendar Month].CurrentMember
 ,[Measures].[Revenue]
)       
在脚本中,这将添加到
WITH
子句中:

WITH    
MEMBER [Measures].[4MonthRevenue] AS
    SUM(
      [Date].[Date - Calendar Month].CurrentMember.LAG(3) 
      : 
      [Date].[Date - Calendar Month].CurrentMember
     ,[Measures].[Revenue]
    )  
SELECT 
    [Date].[Date - Calendar Month].[Calendar Month].MEMBERS
      ON ROWS,
    NON EMPTY
      [Measures].[4MonthRevenue]
        ON COLUMNS
FROM [YourCube];