式 (MDX)

式は、識別子、値、および演算子の組み合わせです。Microsoft SQL Server Analysis Services は式を評価して結果を生成します。 データにアクセスしたりデータを変更する際には、複数の異なる場所でデータを使用できます。 たとえば、クエリの取得対象データの一部分として式を使用したり、一連の基準を満たすデータを探すときの検索条件として式を使用することができます。

単純式と複合式

MDX では、次のような単純式と複合式を使用できます。

単純式とは、次のような式です。

  • 定数
    定数は、MDX における 1 つの特定の値を表す記号です。 定数として、文字列値、数値、および日付値を指定できます。 文字列と日付の定数は、数値定数とは異なり、単一引用符 (') 文字で区切る必要があります。

  • スカラー関数
    MDX のスカラー関数は、評価のコンテキスト内で単一の値を返します。 MDX がスカラー関数を解決する方法を理解するうえで、この違いは重要です。ほとんどの MDX 式、ステートメント、およびスクリプトは単一のデータ要素に対して評価されるのではなく、(複数のセル、メンバーなど) データ要素のグループに対して反復的に評価されます。 しかし、スカラー関数の評価時には、通常、関数は単一のデータ要素を検査します。

  • オブジェクト識別子
    多次元データの性質上、MDX はオブジェクト指向です。 MDX では、オブジェクト識別子は単純式と見なされます。 識別子の詳細については、「識別子 (MDX)」を参照してください。

これらのエンティティを演算子で結合して、複合式を作成することができます。

式の結果

1 つの定数、変数、スカラー関数、または列名から成る単純式の場合、式のデータ型、照合順序、有効桁数、小数点以下桁数、および値は、参照される要素のデータ型、照合順序、有効桁数、小数点以下桁数、および値になります。 MDX が直接サポートするのは OLE VARIANT データ型だけなので、単純式で強制型変換が発生することはありません。

複合式の場合、異なるデータ型を持つ複数の単純式を使用する際に、強制型変換が発生する可能性があります。

式の例

次のクエリでは、定義が単純式である、計算されるメジャーの例を示します。

WITH

MEMBER MEASURES.CONSTANTVALUE AS 1

MEMBER MEASURES.SCALARFUNCTION AS [Date].[Calendar Year].CURRENTMEMBER.NAME

MEMBER MEASURES.OBJECTIDENTIFIER AS [Measures].[Internet Sales Amount]

SELECT {MEASURES.CONSTANTVALUE,MEASURES.SCALARFUNCTION,MEASURES.OBJECTIDENTIFIER } ON 0,

[Date].[Calendar Year].MEMBERS ON 1

FROM [Adventure Works]

このほかに、計算式も可能です (たとえば [Measures].[Discount Amount] * 1.5)。 以下の例は、MDX SELECT ステートメント内でメンバーを定義するための計算式の使用方法を示しています。

WITH 
   MEMBER [Measures].[Special Discount] AS
   [Measures].[Discount Amount] * 1.5
SELECT 
   [Measures].[Special Discount] on COLUMNS,
   NON EMPTY [Product].[Product].MEMBERS  ON Rows
FROM [Adventure Works]
WHERE [Product].[Category].[Bikes]

このセクションの内容

トピック

説明

キューブ式とサブキューブ式の使用

キューブ式とサブキューブ式を定義します。

ディメンション式の使用

ディメンション式 (次元式) を定義します。

メンバー式の使用

メンバー式を定義します。

組式の使用

組式を定義します。

セット式の使用

セット式を定義します。

スカラー関数の使用

スカラー式を定義します。

空の値の操作

空の値とは何か、そのような値がどのように処理されるかを説明します。

関連項目

概念

MDX 言語リファレンス (MDX)

その他の技術情報

MDX クエリの基礎 (Analysis Services)