次の方法で共有


基本的な MDX スクリプト (MDX)

多次元式 (MDX) スクリプトは、Microsoft SQL Server Analysis Services のキューブの計算プロセスを定義します。 MDX スクリプトには、次の 2 種類があります。

既定の MDX スクリプト
キューブを作成すると、Analysis Services はそのキューブの既定の MDX スクリプトを作成します。 このスクリプトは、キューブ全体の計算パスを定義します。

ユーザー定義 MDX スクリプト
キューブを作成したら、キューブの計算機能を拡張するユーザー定義の MDX スクリプトを追加できます。

既定の MDX スクリプト

キューブを定義するときに Analysis Services によって作成される既定の MDX スクリプトには、1 つの CALCULATE ステートメントが含まれています。 この 1 つの CALCULATE ステートメントは、既定の MDX スクリプトの先頭にあり、最初の計算パス中にキューブ全体を計算する必要があることを示します。

既定の MDX スクリプトには、キューブ デザイナーで作成された名前付きセット、割り当て、計算メンバーを作成するスクリプト コマンドも含まれています。

  • Analysis Services は、既定の MDX スクリプトにスクリプト コマンドを直接追加します。

  • キューブ内の名前付きセットごとに、対応する CREATE SET ステートメントが既定の MDX スクリプトに存在します。

  • キューブで定義された計算メンバーごとに、対応する CREATE MEMBER ステートメントが既定の MDX スクリプトに存在します。

キューブ デザイナーの [計算] タブを使用して、既定の MDX スクリプトでスクリプト コマンド、名前付きセット、および計算メンバーの順序 制御できます。 既定の MDX スクリプトに格納されている計算の定義の詳細については、「 多次元モデルでの計算」を参照してください。

キューブに関連付けられている MDX スクリプトがない場合、キューブは既定の MDX スクリプトと見なされます。 キューブは計算動作を決定するために MDX スクリプトに依存するため、キューブを少なくとも 1 つの MDX スクリプトに関連付ける必要があります。 言い換えると、MDX スクリプトに関連付けられていないキューブや、空の MDX スクリプトに関連付けられたキューブでは、セルを計算できず、計算できませんでした。 Analysis Services スクリプト言語 (ASSL) コマンドを使用するか、Analysis Management Objects (AMO) を使用してキューブをプログラムで作成する場合は、キューブの CALCULATE ステートメントを 1 つ含む既定の MDX スクリプトを作成することをお勧めします。

MDX スクリプトコンテンツ

MDX スクリプトには、次のステートメントと式を含めることができます。

すべての MDX スクリプト ステートメント
MDX スクリプトでは、MDX スクリプト ステートメントは計算のコンテキストとスコープを制御し、MDX スクリプト内の他のステートメントの動作を管理します。 このカテゴリには、次のステートメントが含まれています。

MDX スクリプト ステートメントの詳細については、「 MDX スクリプト ステートメント (MDX)」を参照してください。

メンバーを作成
CREATE MEMBER ステートメントは、計算されるメンバーを作成します。 計算されるメンバーを作成する方法の詳細については、「 MDX での計算メンバーの作成 (MDX)」を参照してください。

セットを作成
CREATE SET ステートメントは、名前付きセットを作成します。 名前セットを作成する方法の詳細については、「 MDX での名前付きセットの作成 (MDX)」を参照してください。

条件付きステートメント
条件付きステートメントは、MDX スクリプトに条件付きロジックを追加します。 このカテゴリには、 CASE ステートメントと IF ステートメントが 含まれます。

プログラミングにおける代入式
代入式は、制約付きサブキューブに値などの式を割り当てます。 制約付きサブキューブ式は、MDX スクリプト内のサブキューブの "エッジ" を定義する、制約付きセット式のコレクションです。 次のコードは、制約付きサブキューブ式の構文を示しています。

<Constrained subcube> ::= (   
    ( <Constrained set> [<Crossjoin operator> <Constrained set>...] |  
    <ROOT function> |  
    <TREE function> |  
    LEAVES() |  
    * ) [, <Constrained subcube>...]  
<Constrained set> ::=   
    <Natural hierarchy>.MEMBERS |   
    <Natural hierarchy>.LEVEL(<numeric expression>).MEMBERS |   
    { <Natural hierarchy member> } |   
    DESCENDANTS( <Natural hierarchy member>, <Level expression>, ( SELF | AFTER | SELF_AND_AFTER ) ) |   
    DESCENDANTS( <Natural hierarchy member>, , LEAVES )  
<Natural hierarchy> ::= <Hierarchy identifier>  
<Natural hierarchy member> ::= <Natural hierarchy>.<identifier>[.<identifier>...]  

こちらもご覧ください

MDX 言語リファレンス (MDX)
MDX スクリプトの基礎 (Analysis Services)