2016-09-16 4 views
0

У нас есть относительный размер даты в нашем кубе, который в качестве примера имеет значения значений This Year и Last Year.Как я могу показать значение прошлого года через измерение в MDX?

Пользователь использует этот набор в столбцах против продаж, чтобы они могли посмотреть Продажи за этот год и тот же период прошлого года.

Проблема возникает, когда они используют фильтр Calendar Date, чтобы выбрать только значения для этого месяца. Если пользователь выбирает только этот месяц, участник Last Year исчезает.

Есть ли способ (возможно, с оператором scope), который я могу сказать SSAS: если пользователь использует эти атрибуты, и они выбирают определенный месяц (или другой уровень), то используйте ParallelPeriod, чтобы неявно включать одни и те же элементы для в прошлом году, чтобы они могли видеть продажи в прошлом году?

Если нет, без использования вычисляемых элементов (у меня так много мер, которые я не хочу дублировать), существует ли способ использования измерений, чтобы показать значение в прошлом году, даже если пользователь выбирает этот год в измерение даты?

+0

вы можете включить некоторый MDX, возможно, выходной ток в зависимости от ожидаемых? Иначе ответ будет. Да, вы можете сделать это с помощью SCOPE. – mxix

ответ

0

Есть несколько вариантов здесь ...

я бы просто добавить новый вычисляемый элемент к существующему размеру, я добавлю его к Псевдо-Dimension [Период времени] измерение с чем-то вроде этого: (я уверен, что вам нужно, чтобы добавить его к существующей иерархии. Я буду считать [относительное время])

CREATE MEMBER [Time Period].[Relative Time].[Last Year] 
AS NULL 
, VISIBLE=1; 
SCOPE(
    DESCENDTS([Time].[YearMonthDate].[Year].MEMBERS,,AFTER) 
    ,[Time Period].[Relative Time].[Last Year] 
    ); 
    THIS = AGGREGATE(
       PARALLELPERIOD(
        [Time].[YearMonthDate].[Year] 
        ,1 
        ,[Time].[YearMonthDate].CURRENTMEMBER 
       ) 
       ,[Measures].CURRENTMEMBER 
      ); 
END SCOPE; 

 Смежные вопросы

  • Нет связанных вопросов^_^