MDX には、1 つ以上のメンバー、タプル、またはセットを返す多数の関数が用意されています。または、メンバー、タプル、またはセットに作用します。
メンバー関数
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) 関数を使用すると、セットから最初のタプルを抽出できます。これは、セットが 1 つのタプルで構成されていて、そのタプルをタプルを必要とする関数に提供する場合に非常に便利です。
次の例では、列軸のタプルのセット内から最初のタプルを返します。
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]
タプル関数の詳細については、「 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]
コロン演算子を使用してセットを作成しない場合は、次の例でタプルを指定することで、同じメンバー セットを作成できます。
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)」を参照してください。
レベル関数
level 関数は、メンバー、レベル、または文字列に基づいて動作することによってレベルを返します。 レベル関数の詳細については、「 MDX 関数リファレンス (MDX)」を参照してください。
論理関数
論理関数は、MDX 式に対して機能し、式内のタプル、メンバー、またはセットに関する情報を返します。 たとえば、 IsEmpty (MDX) 関数は、式が空のセル値を返したかどうかを評価します。 論理関数の詳細については、「 MDX 関数リファレンス (MDX)」を参照してください。
数値関数
数値関数は、スカラー値を返すために MDX 式に作用します。 たとえば、 Aggregate (MDX) 関数は、指定したセット内のタプルに対してメジャーを集計することによって計算されるスカラー値を返します。 数値関数の詳細については、「 MDX 関数リファレンス (MDX)」を参照してください。
文字列関数
文字列関数は、文字列を返す MDX 式に対して機能します。 たとえば、 UniqueName (MDX) 関数は、ディメンション、階層、レベル、またはメンバーの一意の名前を含む文字列値を返します。 文字列関数の詳細については、「 MDX 関数リファレンス (MDX)」を参照してください。
こちらもご覧ください
MDX の主な概念 (Analysis Services)
MDX クエリの基礎 (Analysis Services)
MDX 関数リファレンス (MDX)