式 (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]

このセクションの内容

トピック

説明

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

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

ディメンション式の使用

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

メンバ式の使用

メンバ式を定義します。

組式の使用

組式を定義します。

セット式の使用

セット式を定義します。

スカラ関数の使用

スカラ式を定義します。

空の値の操作

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

関連項目

概念

その他の技術情報