2016-12-09 56 views
0

去年當月的MTD如何計算?以下查詢返回12.2015的總銷售額[淨銷售額],但需要從2015年12月1日至2015年12月9日(今天)的銷售。去年當月的MTD

SUM(
     MTD(
      ParallelPeriod(
       [Calender].[YMD].[Month], 
       12, 
       [Calender].[YMD].CurrentMember 
      ) 
     ) 
     ,[Measures].[Net Sales Amount] 
    ) 

回答

1

我認爲你需要使用成員的HEAD你發現:

SUM(
    HEAD(
     ParallelPeriod(
      [Calender].[YMD].[Month], 
      12, 
      [Calender].[YMD].CurrentMember 
     ).CHILDREN, 
    , 9 
    ) 
    ,[Measures].[Net Sales Amount] 
) 

以上是假設在你的立方體日期的設計是本月的孩子。

你需要使9動態 - 你有未來的日期在你的多維數據集?

如果你沒有將來的日期,然後這可能是工作:

WITH 
    MEMBER [Measures].[NumDaysInCurrentMonth] AS 
     Count(
      Descendants(
      TAIL([Date].[Calendar].[Month]).Item(0) //<<<not sure if Item(0) is required 
      ,[Date].[Calendar].[Date] 
      ,SELF 
     ) 
     ) 

如果你有將來的日期,那麼也許以下幾點:

WITH 
    MEMBER [Measures].[NumDaysInCurrentMonth] AS 
     count(
      NONEMPTY(
      Descendants(
       TAIL([Date].[Calendar].[Month]).Item(0) //<<<not sure if Item(0) is required 
       ,[Date].[Calendar].[Date] 
       ,SELF 
      ) 
     ) 
     ) 

那麼上面可以喂到一個上一篇:

WITH 
    MEMBER [Measures].[NumDaysInCurrentMonth] AS 
    COUNT(
     Descendants(
      TAIL([Date].[Calendar].[Month]).Item(0) //<<<not sure if Item(0) is required 
      ,[Date].[Calendar].[Date] 
      ,SELF 
     ) 
    ) 
    MEMBER [Measures].[PrevYearMTD] AS 
    SUM(
     HEAD(
      ParallelPeriod(
       [Calender].[YMD].[Month], 
       12, 
       [Calender].[YMD].CurrentMember 
      ).CHILDREN, 
     , [Measures].[NumDaysInCurrentMonth] 
     ) 
     ,[Measures].[Net Sales Amount] 
    ) 
相關問題