キューブ式とサブキューブ式の使用
多次元式 (MDX) ステートメントでは、キューブまたはサブキューブのデータを定義、操作、または取得するために、キューブ式やサブキューブ式を使用します。
キューブ式
キューブ式にはキューブ識別子または CURRENTCUBE キーワードが含まれているため、単純な式のみを指定できます。 多くの MDX ステートメントでは、キューブ識別子を必要とするのではなく、CURRENTCUBE キーワードを使用して現在のキューブ コンテキストを識別します。
キューブ識別子は、MDX ステートメントの BNF 表記の説明に Cube_Name として表示されます。
キューブ式は、いくつかの場所に表示される場合があります。 MDX の SELECT ステートメントでは、キューブ式は、データの取得元のキューブを指定します。 次のクエリ例では、式 [Adventure Works] はその名前のキューブを参照しています。
SELECT [Measures].[Internet Sales Amount] ON COLUMNS
FROM [Adventure Works]
CREATE MEMBER ステートメントでは、キューブ式は、作成中の計算されるメンバーが表示されるキューブを指定します。 次の例では、 ステートメントによって Adventure Works キューブの Measures ディメンションに計算メジャーが作成されます。
CREATE MEMBER [Adventure Works].[Measures].[Test] AS 1
MDX スクリプト内で CREATE MEMBER ステートメントを使用する場合、計算されるメンバーを作成するキューブは、次の例に示すように、MDX スクリプトが属するキューブと同じである必要があるため、キューブの名前を CURRENTCUBE キーワードに置き換えることができます。
CREATE MEMBER CURRENTCUBE.[Measures].[Test] AS 1;
これにより、キューブの名前がハードコーディングされなくなったため、計算されるメンバー定義を 1 つのキューブから別のキューブに簡単にコピーして貼り付けることができます。
SubCube 式
サブキューブ式には、サブキューブ識別子、またはサブキューブを返す MDX ステートメントを含めることができます。 サブキューブ式にサブキューブ識別子が含まれている場合は、単純な式になります。 サブキューブを返す MDX ステートメントが含まれている場合は、複合ステートメントです。 たとえば、次の例に示すように、MDX の SELECT ステートメントは、サブキューブを返すので、サブキューブ式が許可されている場所で使用できます。
SELECT [Measures].MEMBERS ON COLUMNS,
[Date].[Calendar Year].MEMBERS ON ROWS
FROM
(SELECT [Measures].[Internet Sales Amount] ON COLUMNS,
[Date].[Calendar Year].&[2004] ON ROWS
FROM [Adventure Works])
FROM 句での SELECT ステートメントのこの使用は、サブセレクトとも呼ばれます。
サブキューブ式が発生するもう 1 つの一般的なシナリオは、MDX スクリプトでスコープ割り当てを行う場合です。 次の例では、SCOPE ステートメントを使用して、[メジャー] で構成されるサブキューブへの割り当てを制限します。[インターネット販売額]:
SCOPE([Measures].[Internet Sales Amount]);
This=1;
END SCOPE;
サブキューブ識別子は Subcube_Nameとして表示されます。 MDX ステートメントの BNF 表記の説明。
参照
MDX の基本的なクエリ (MDX)
MDX でのサブキューブの作成 (MDX)
CREATE SUBCUBE ステートメント (MDX)
式 (MDX)
SCOPE ステートメント (MDX)