クエリ内のキューブ コンテキストの確立 (MDX)
各 MDX クエリは、指定したキューブ コンテキスト内で実行されます。このコンテキストは、クエリ内の式によって評価されるメンバを定義します。
SELECT ステートメントでは、FROM 句によってキューブ コンテキストを指定します。このコンテキストは、キューブ全体の場合もあれば、キューブの中にある 1 つのサブキューブの場合もあります。FROM 句によってキューブ コンテキストを指定してから、追加の関数によってそのコンテキストを拡大したり縮小したりすることも可能です。
注意 |
---|
SCOPE ステートメントと CALCULATE ステートメントによって、MDX スクリプト内のキューブ コンテキストを管理することもできます。詳細については、「MDX スクリプティングの基礎 (MDX)」を参照してください。 |
FROM 句の構文
FROM 句の構文は、以下のとおりです。
<SELECT subcube clause> ::=
Cube_Identifier |
(SELECT [
* |
( <SELECT query axis clause> [ , <SELECT query axis clause> ... ] ) ]
FROM <SELECT subcube clause> <SELECT slicer axis clause> )
この構文では、<SELECT subcube clause> 句によって、SELECT ステートメントの実行対象にするキューブまたはサブキューブを記述します。
シンプルな例としては、FROM 句で Adventure Works サンプル キューブ全体を対象として指定する例があります。そのような FROM 句の形式は、以下のとおりです。
FROM [Adventure Works]
MDX の SELECT ステートメントで使用する FROM 句の詳細については、「SELECT ステートメント (MDX)」を参照してください。
コンテキストの調整
FROM 句ではいずれか 1 つのキューブがキューブ コンテキストとなりますが、複数のキューブのデータを同時に操作できないわけではありません。
キューブ コンテキストの外部のキューブからデータを取得する場合は、MDX の LookupCube 関数を使用できます。さらに、クエリの評価時にコンテキストを一時的に制限するために、Filter などの関数も用意されています。