使用 Tuple 運算式
Tuple 是由 Cube 內含的每個維度中的一個成員所組成。 因此,Tuple 會唯一識別 Cube 內的單一資料格。
注意
參考無效之一或多個成員的 Tuple 稱為空 Tuple。
Tuple 識別碼的完整運算式是由一或多個明確指定的成員所組成,以括弧括起:
( Member_expression [ , Member_expression ... ] )
Tuple 可以完整、可以包含隱含成員,或可以包含單一成員。
Tuple 和隱含成員
明確指定 Cube 內含之每個維度中單一成員的 Tuple 稱為完整 Tuple。 不過,Tuple 不需要完整。
未明確參考 Tuple 內的任何維度都會隱含參考。 隱含參考維度的成員取決於維度的結構及其內定義的屬性關聯性。 如果階層在與隱含參考階層相同的維度上明確參考階層,而且明確參考階層與隱含參考階層之間定義了直接或間接關聯性,則 Tuple 的行為就如同它包含隱含參考階層上具有明確參考階層的成員一樣。 例如,如果 Cube 包含具有 City 和 Country 屬性的 Customer 維度,而且這兩個屬性之間有定義關聯性,讓 City 有一個國家/地區可以包含許多城市,然後在 Tuple 中明確包含 City 'London',隱含地參考 Country 'United Kingdom'。 不過,如果未定義任何屬性關聯性,則關聯性是相反的方向(例如,雖然 City 可能與 Country 有關聯性,但您無法判斷城市某人只住在知道他們居住的國家/地區),或兩個屬性之間沒有直接關聯性定義(可能有從客戶到城市和客戶到國家/地區的關聯性, 但未定義城市與國家/地區之間的關聯性,則適用下列規則:
如果隱含參考的階層具有預設成員,預設成員就會新增至 Tuple。
如果隱含參考的階層沒有預設成員, 則會使用預設階層的 (All) 成員。
如果隱含參考的階層沒有預設成員,則會使用階層最上層的第一個成員。
單一成員 Tuple
如果 Tuple 運算式具有單一成員,MDX 會基於評估運算式的目的,將成員轉換成單一成員 Tuple。 換句話說,提供成員運算式 [Measures].[TestMeasure]
而非 Tuple 運算式的功能相當於 Tuple 運算式 ( [Measures].[TestMeasure] ).