MDX 提供許多函式,可以傳回一或多個成員、元組或集合,或是對成員、元組或集合進行操作。
成員函式
MDX 提供數個函數,可以從其他 MDX 實體中擷取成員,例如從維度、層級、集合或元組中。 例如, 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)。
元組函式
MDX 提供數個可以傳回元組的函數,並且可以在任何接受元組的位置使用。 例如, Item (Tuple) (MDX) 函式可用來從集合擷取第一個 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 提供數個傳回集合的函式。 明確定義元組並將其括在大括號中並不是取得集合的唯一方法。 如需成員函式傳回集合的詳細資訊,請參閱 MDX 中的重要概念(Analysis Services)。 有許多額外的集合函式。
冒號運算子可讓您利用成員的自然順序來創建集合。 例如,下列範例中顯示的集合包含 2002 年日曆年度第 1 季度到第 4 季度的元組。
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 運算式,以傳回關於運算式中元組、成員或集合的相關資訊。 例如, IsEmpty (MDX) 函式會評估表達式是否傳回空的數據格值。 如需邏輯函式的詳細資訊,請參閱 MDX 函數參考 (MDX) 。
數值函式
數值函式會根據 MDX 運算式來傳回純量值。 例如,Aggregate(MDX) 函式會傳回透過在指定集合中的元組集合上聚合量值所計算的標量值。 如需數值函數的詳細資訊,請參閱 MDX 函數參考 (MDX) 。
字串函式
字串函式會處理 MDX 運算式以傳回字串。 例如, UniqueName (MDX) 函式會傳回字串值,其中包含維度、階層、層級或成員的唯一名稱。 如需字串函式的詳細資訊,請參閱 MDX 函數參考 (MDX) 。
另請參閱
MDX 中的關鍵概念(Analysis Services)
MDX 查詢概念基礎 (分析服務)
MDX 函數參考 (MDX)