2009-09-17 78 views
2

這兩個陳述是否相同?MDX中的元組是否隱式交叉?

元組:

SELECT {[Measures].[Volume]} ON COLUMNS, 
    ([Product].[Product Id].[Product Id].AllMembers 
    ,[Time].[Time].[Year].AllMembers) ON ROWS 
    FROM [My Cube] 

對戰明確CROSSJOIN:

SELECT {[Measures].[Volume]} ON COLUMNS, 
    [Product].[Product Id].[Product Id].AllMembers 
     * [Time].[Time].[Year].AllMembers ON ROWS 
     FROM [My Cube] 

他們似乎返回相同的結果,但它會從閱讀似乎我已經做到了他們應該不會(至少不總是)。

回答

2

你在第一個查詢中有什麼不是一個元組。元組由一個或多個成員的集合組成

例如。 (的member1,member2,...

凡爲你所擁有的是(設置1,設置2 ...)。我認爲這是一個子多維數據集,因爲這是爲範圍語句定義子多維數據集時使用的。而一個子多維數據集本質上是一個隱含的crossjoin,所以你的兩個查詢應該返回相同的結果。