使用成員、Tuple 和集合 (MDX)
MDX 提供許多會傳回一或多個成員、Tuple 或集合的函數,或作用於成員、Tuple 或集合的函數。
成員函數
MDX 提供數個函數,用來從其他 MDX 實體 (例如維度、層級、集合或 Tuple) 擷取成員。 例如, FirstChild 函數會在成員上作用並且會傳回成員。
若要取得 Time 維度的第一個子成員,您可以明確陳述該成員,如下列範例所示。
SELECT [Date].[Calendar Year].[CY 2001] on 0
FROM [Adventure Works]
您也可以使用 FirstChild
函數來傳回相同的成員,如下列範例所示。
SELECT [Date].[Calendar Year].FirstChild on 0
FROM [Adventure Works]
如需 MDX 成員函式的詳細資訊,請參閱 MDX 函式參考 (MDX) 。
Tuple 函數
MDX 提供數個會傳回 Tuple 的函數,在接受 Tuple 的任何地方都可以使用這些函數。 例如, Item (Tuple) (MDX) 函式可用來從集合擷取第一個 Tuple,這在您知道集合是由單一 Tuple 組成,而且您想要將該 Tuple 提供給需要 Tuple 的函式時非常有用。
下列範例會從資料行軸上的 Tuple 集合傳回第一個 Tuple。
SELECT {
([Measures].[Reseller Sales Amount]
,[Date].[Calendar Year].[CY 2003]
)
, ([Measures].[Reseller Sales Amount]
,[Date].[Calendar Year].[CY 2004]
)
}.Item(0)
ON COLUMNS
FROM [Adventure Works]
如需 Tuple 函式的詳細資訊,請參閱 MDX 函式參考 (MDX) 。
集合函式
MDX 提供數個會傳回集合的函數。 明顯的輸入 Tuple 並將它們以大括號括起來並不是擷取集合的唯一方式。 如需傳回集合之成員函式的詳細資訊,請參閱 MDX 中的重要概念 (Analysis Services) 。 還有許多其他集合函數。
您可以使用冒號運算子以成員的自然順序來建立集合。 例如,下列範例中顯示的集合包含 2002 日曆年度第一季到第四季的 Tuple:
SELECT
{[Calendar Quarter].[Q1 CY 2002]:[Calendar Quarter].[Q4 CY 2002]}
ON 0
FROM [Adventure Works]
如果不要使用冒號運算子來建立集合,您也可以指定 Tuple 來建立相同的成員集合,如下列範例所示。
SELECT {
[Calendar Quarter].[Q1 CY 2002],
[Calendar Quarter].[Q2 CY 2002],
[Calendar Quarter].[Q3 CY 2002],
[Calendar Quarter].[Q4 CY 2002]
} ON 0
FROM [Adventure Works]
冒號運算式是一個包含函數。 冒號運算子兩旁的成員都會包含在結果集中。
如需設定函式的詳細資訊,請參閱 MDX 函式參考 (MDX) 。
陣列函式
陣列函數會作用於集合並且會傳回陣列。 如需陣列函式的詳細資訊,請參閱 MDX 函式參考 (MDX) 。
階層函數
階層函數會作用於成員、層級、階層或字串,然後傳回階層。 如需階層函式的詳細資訊,請參閱 MDX 函式參考 (MDX) 。
層級函數
層級函數會作用在成員、層級或字串,然後傳回層級。 如需層級函式的詳細資訊,請參閱 MDX 函式參考 (MDX) 。
邏輯函數
邏輯函數會作用在 MDX 運算式,以傳回運算式中 Tuple、成員或集合的相關資訊。 例如, IsEmpty (MDX) 函式會評估運算式是否已傳回空儲存格值。 如需邏輯函式的詳細資訊,請參閱 MDX 函式參考 (MDX) 。
數值函數
數值函數會作用在 MDX 運算式以傳回純量值。 例如, 匯總 (MDX) 函式會傳回純量值,方法是匯總指定集合中 Tuple 的量值。 如需數值函數的詳細資訊,請參閱 MDX 函數參考 (MDX) 。
字串函式
字串函數會作用在 MDX 運算式以傳回字串。 例如, UniqueName (MDX) 函式會傳回字串值,其中包含維度、階層、層級或成員的唯一名稱。 如需字串函式的詳細資訊,請參閱 MDX 函式參考 (MDX) 。
另請參閱
MDX 的關鍵概念 (Analysis Services)
MDX 查詢基礎觀念 (Analysis Services)
MDX 函數參考 (MDX)