2016-07-29 191 views
0

我試圖用一個MDX計算的度量上做列一個case語句。當我將它保存它集即使先生是在標題場進行了一些記錄的新列一切的Test2MDX Case語句

Case [hist].[title] when "Mr" then "Test1 "Else "Test2"end 

我使用這個代碼。任何想法,我可能會出錯?

感謝

回答

0

MDX中你可以說:

CASE 
WHEN [hist].[title].CURRENTMEMBER.MEMBER_CAPTION = "Mr" 
    THEN "Test1" 
ELSE "Test2" 
END 

CASE 
WHEN [hist].[title].CURRENTMEMBER 
    IS [hist].[title].[title].&[Mr] 
    THEN "Test1" 
ELSE "Test2" 
END 

'IIF' 是更好,因爲默認情況下使用:

IIF( 
[hist].[title].CURRENTMEMBER.MEMBER_CAPTION = "Mr" 
,"Test1" 
,"Test2" 
) 

IIF( 
[hist].[title].CURRENTMEMBER 
    IS [hist].[title].[title].&[Mr] 
,"Test1" 
,"Test2" 
) 

在性能方面: - IS操作最好使用​​
- IIF通常執行比CASE - 如果你可以用的分支之一脫身IIFNULL那麼您的計算機會以更快的塊模式運行。

因此,這將是最好的:

IIF( 
[hist].[title].CURRENTMEMBER 
    IS [hist].[title].[title].&[Mr] 
,"Test1" 
,NULL 
) 
+0

感謝,但是當我嘗試,我得到了相同的結果都記錄顯示測試2 – rory83

+0

@ rory83行 - 我的錯誤 - 你要麼需要使用'MEMBER_CAPTION'財產或者更好地給我們「IS」操作員,並將確切的成員拖到操作員的右側 - 我會猜出全名。 – whytheq