MDX Case Statement с разными выходами измерения - PullRequest
0 голосов
/ 23 ноября 2011

Я пытаюсь написать простой оператор CASE в MDX, который возвращает значения показателей из разных таблиц фактов на основе определенного типа измерения, как показано ниже -

WITH MEMBER [Measures].[Amount] AS
CASE  [Dim Trx Type].[Trx Type Id].CURRENTMEMBER 
        WHEN [Dim Trx Type].[Trx Type Id].&[1] THEN [Measures].[Amount - Fact Sale]
      WHEN [Dim Trx Type].[Trx Type Id].&[2] THEN [Measures].[Amount - Fact Sale]
      WHEN [Dim Trx Type].[Trx Type Id].&[11] THEN [Measures].[Amount - Fact Usage]
END

Затем я использую [Меры]. [Сумма] в моем MDX. Проблема здесь заключается в том, что я не получаю требуемое значение для Типа 11. Если я перемещаю свой случай, когда дело касается первой строки, я получаю значение для использования, а иногда и для Продажи. Странное поведение я не могу понять.

Может ли кто-нибудь помочь?

1 Ответ

1 голос
/ 23 ноября 2011

Попробуйте с помощью КЛЕТОЧНОГО РАСЧЕТА:

WITH MEMBER [Measures].[Amount] AS [Measures].[Amount - Fact Sale]
CELL CALCULATION [A] FOR '({[Dim Trx Type].[Trx Type Id].&[1], [Dim Trx Type].[Trx Type Id].&[2]}, [Measures].[Amount])' As ([Measures].[Amount - Fact Sale])
CELL CALCULATION [B] FOR '({[Dim Trx Type].[Trx Type Id].&[11]}, [Measures].[Amount])' As ([Measures].[Amount - Fact Usage])
...