Ssas 具有不同度量输出的MDX Case语句

Ssas 具有不同度量输出的MDX Case语句,ssas,case,mdx,Ssas,Case,Mdx,我试图在MDX中编写一个简单的CASE语句,根据特定的维度类型从不同的事实表返回度量值,如下所示- 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].[

我试图在MDX中编写一个简单的CASE语句,根据特定的维度类型从不同的事实表返回度量值,如下所示-

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中使用[Measures].[Amount]。这里的问题是我没有得到类型11所需的值。如果我把我的when case移到第一线,我就得到了使用价值,有时甚至是出售价值。我无法理解的古怪行为


有人能帮忙吗?

试试单元格计算:

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

谢谢,不,那很好用。知道CASE语句失败的原因吗?也许,您必须在IS函数中使用其他语法:CASE WHEN[Dim Trx Type].[Trx Type Id]。CURRENTMEMBER是[Dim Trx Type].[Trx Type Id].&[1],然后…MDX具有IIF条件,在这种情况下可能也很有用。使用。。。当[Dim Trx Type].[Trx Type Id].CURRENTMEMBER为[Dim Trx Type].[Trx Type Id].&[1]时的情况,则。。。