2014-09-11 65 views
1

我有兩個幾乎相似的MDX查詢,在一個我使用.CHILDREN和其他.ALLMEMBERS中。第一個返回沒有行,第二個返回兩個。請幫我理解爲什麼!在MDX語句中使用.CHILDREN和.ALLMEMBERS時的結果差異

查詢1

select 
[Measures].[Claim As Of - Count] on 0, 
[Accident Date].[Year].allmembers on 1 
from [AW Cube] 
where [Accident Date].[Year-Quarter-Month-Date].[Year].&[2010] 

--- 2行

查詢2

select 
[Measures].[Claim As Of - Count] on 0, 
[Accident Date].[Year].children on 1 
from [AW Cube] 
where [Accident Date].[Year-Quarter-Month-Date].[Year].&[2010] 

--no行

----權利要求作爲 - 計數 - - 全部637,350 --2010 637,350

只需加起來, AccidentDate是我的立方體[AW Cube]中的維度之一。 Year是一個自然的層級,而[Year-Quarter-Month-Date]是用戶定義的層級。 [年 - 季 - 月 - 日]按以下方式創建:年 - >月 - >季 - >日期。因此,通過[事故日期] [年 - 月 - 日 - 日],[年],會員和[事故日期] [年] .MEMBERS可以獲得'年數'。

+0

難道沒有騎士來拯救可憐的靈魂嗎? :( – SouravA 2014-09-12 10:13:23

回答

1

那麼,自己得到了答案。實際上,每個.CHILDREN都會在內部翻譯爲.CURRENTMEMBER.CHILDREN現在,[Accident Date].[Year].&[2010]是用戶定義層次結構上限幅器的對應值。在這裏,[Accident Date].[Year].CHILDREN實際上被翻譯爲[Accident Date].[Year].&[2010].CHILDREN,這基本上是一個空集。因此,瞧!空的結果集!