MDX - 上个月的动态查询

MDX - Dynamic query for last complete month

在 SSMS 2014 中处理 MDX 查询,我需要它是动态的,因为它总是查询最后一个完整月份的数据。

现在我正在使用 Lag() 函数来确定上个月和之前的一个月,以便进行逐月计算。我用 {[Date].[Calendar Year Month].[201705]} 指定当前月份以提取该数据。

我是否可以避免指定月份,这样我就不必每次都编辑查询 运行 了?

这是我当前的查询:

WITH 
  MEMBER [2MonthsPriorUniqueUsers] AS Sum({[Date].[Calendar Year Month].CurrentMember.Lag(2)},[Measures].[App Unique Users Loggedin]) 
  MEMBER [1MonthPriorUniqueUsers] AS Sum({[Date].[Calendar Year Month].CurrentMember.Lag(1)},[Measures].[App Unique Users Loggedin]) 
  MEMBER [1MonthPriorTotalAppLogins] AS Sum({[Date].[Calendar Year Month].CurrentMember.Lag(1)},[Measures].[App Logins])
  MEMBER [Measures].[PercentUniqueIncreaseMoM] AS ([1MonthPriorUniqueUsers] / [2MonthsPriorUniqueUsers])-1,FORMAT_STRING = "Percent" 
SELECT 
   NON EMPTY 
     {[Date].[Calendar Year Month].[201705]}
   *  Nonempty([Project].[Client Name].members,[Measures].[App Logins]) ON 0,
  NON EMPTY 
    {
      [Measures].[PercentUniqueIncreaseMoM]
     ,([1MonthPriorUniqueUsers])
     ,[2MonthsPriorUniqueUsers]
     ,[1MonthPriorTotalAppLogins]
    } ON 1
FROM [MyCube]

提前致谢!!

我想你可以直接替换下面的代码:

[Date].[Calendar Year Month].[201705]

StrToMember("[Date].[Calendar Year Month].[" +  Format(Now(),"yyyyMM")  + "]")

www.mdx-helper.com