2016-12-09 6 views
0

작년의 MTD를 어떻게 계산할 수 있습니까? 아래 쿼리는 12.2015에 대한 [Net Sales Amount] 총계를 반환하지만 01.12.2015에서 09.12.2015 (오늘)까지의 매출을 가져야합니다.작년의 당월 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] 
) 

는 위 큐브 날짜의 디자인 월의 자녀 가정한다.

다이나믹하게 만들 필요가 있습니다. 큐브에 미래 날짜가 있습니까? 당신이 미래의 날짜가없는 경우

다음이 일할 수 :

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] 
    )