式 (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]
このセクションの内容
トピック |
説明 |
---|---|
キューブ式とサブキューブ式を定義します。 |
|
ディメンション式 (次元式) を定義します。 |
|
メンバー式を定義します。 |
|
組式を定義します。 |
|
セット式を定義します。 |
|
スカラー式を定義します。 |
|
空の値とは何か、そのような値がどのように処理されるかを説明します。 |