MDX Full В прошлом году (не на сегодняшний день) - PullRequest
1 голос
/ 08 декабря 2011

Я использую это для LastYTD

ROUND(
    SUM(YTD(ParallelPeriod([Invoice Date].[Date Hierarchy].[Year]
        , 1
        , [Invoice Date].[Date Hierarchy].CurrentMember))
        , [Measures].[Revenue]
    ),
    2
)

Теперь мне нужен полный прошлый год, а не YTD.Как это сделать?

ОБНОВЛЕНИЕ :

II пытался выполнить следующее, но результаты отображаются только на уровне года.

ROUND(
    SUM(YTD(ParallelPeriod([Invoice Date].[Date Hierarchy].[Year]
        , 1
        , ClosingPeriod([Invoice Date].[Date Hierarchy].[Year],
            [Invoice Date].[Date Hierarchy].CurrentMember)
        )
        )
        , [Measures].[Revenue]
    ),
    2
)

ЭКРАН
enter image description here

Запрос 2:

ROUND(
    SUM(ParallelPeriod([Invoice Date].[Date Hierarchy].[Year]
        , 1
        , [Invoice Date].[Date Hierarchy].CurrentMember)
        , [Measures].[Revenue]
    ),
    2
)

Результаты:

enter image description here

ОБНОВЛЕНИЕ3:

Эточто мне нужно: enter image description here

Ответы [ 2 ]

1 голос
/ 13 декабря 2011

Я смог сделать это с 2 расчетами

CREATE MEMBER CURRENTCUBE.[MEASURES].[Revenue FY]
AS SUM((ANCESTOR([Date].[Y-Q-M-D].Currentmember, [Date].[Y-Q-M-D].[Year])), [Measures].[Revenue]), 
FORMAT_STRING = "#,#", 
VISIBLE = 1  ; 
CREATE MEMBER CURRENTCUBE.[MEASURES].[Revenue FY LY]
AS (PARALLELPERIOD( [Date].[Y-Q-M-D].[Year], 1,[Date].[Y-Q-M-D] ),[Measures].[Revenue FY]), 
FORMAT_STRING = "#,#", 

Надеюсь, это поможет вам.

1 голос
/ 08 декабря 2011
ROUND(
    SUM(ParallelPeriod([Invoice Date].[Date Hierarchy].[Year]
        , 1
        , [Invoice Date].[Date Hierarchy].CurrentMember)
        , [Measures].[Revenue]
    ),
    2
)

Я только что удалил функцию YTD из вашего выражения.В моей БД это выражение работает нормально, за исключением ситуации, когда у нас есть некоторые пробелы в измерении даты (например: члены уровня 2009, 2011 существуют на уровне Year, но не член 2010).

/ ********************************** /

Обновленная версия: (по комментариям: все члены за текущий год должны содержать значение за предыдущий год)

(
   ClosingPeriod(
         [Invoice Date].[Date Hierarchy].[Year]
        ,[Invoice Date].[Date Hierarchy].CurrentMember
   ).lag(1)
   , [Measures].[Revenue]
)

ps Это выражение имеетеще не проверено.

...