2014-01-06 53 views
0

以下我希望返回成員Engineering下的所有樹。
我在猜我在濫用IS
我應該使用membervalue嗎?
我想用特定的成員會更有效率?返回特定成員下的所有級別

WITH 
    MEMBER [Measures].[LevelName] AS 
     [Employee].[Employee Department].Level.Name 
    MEMBER [Measures].[LevelNumber] AS 
     [Employee].[Employee Department].Level.Ordinal 
SELECT 
    { 
    FILTER(
     [Employee].[Employee Department].AllMembers, 
     [Employee].[Employee Department].[Department] IS 
      [Employee].[Employee Department].[Department].&[Engineering] 
     ) 
    } ON 1, 
    { 
    [Measures].[LevelName], 
    [Measures].[LevelNumber] 
    } ON 0 
FROM [Adventure Works] 

以下是錯誤消息:

執行查詢...查詢(10,3)是函數期望爲2參數的水平 表達。成員表達式被使用。執行 完成

回答

2

您不需要使用FILTER函數來獲取屬於特定成員的所有子成員。剛做這樣的事情,而不是:

SELECT 
{ 
    [Employee].[Employee Department].[Department].&[Engineering].CHILDREN 
} ON 1, 
... 

如果你想下面的特定成員的整個樹,用後人功能:

SELECT 
{ 
    DESCENDANTS([Employee].[Employee Department].[Department].&[Engineering], 
     [Employee].[Employee Department].[Department], AFTER) 
} ON 1, 
... 
+0

+1謝謝'DESCENDENTS'用'SELF_AND_AFTER'給我什麼,我想。 「FILTER」/「IN」可以嗎? – whytheq

+0

我不確定。不過,我懷疑它,因爲FILTER函數的邏輯表達式參數是在不同的上下文中計算的。 – Dan

+0

**在上下文中的這個想法/不在上下文中**在'MDX'中對我來說還是有點陌生​​....你有什麼好的參考資料可以幫忙嗎? – whytheq

相關問題