CONTEXTコマンドでは、Oracle OLAPセッション中にコンテキストを作成または使用できます。コンテキストとは、オブジェクト値を維持するための方法です。コンテキストを作成した後、ディメンションの現行のステータスの他、オプション、単一セル変数、値セットおよび単一セル・リレーションの値をそのコンテキストに保存できます。その後、オブジェクト値の一部またはすべてをコンテキストからリストアできます。コンテキストは、1つのOracle OLAPセッションの間のみ存在します。これは、アナリティック・ワークスペース・オブジェクトではないため、アナリティック・ワークスペースの一部として保存できません。特定のアナリティック・ワークスペース内のオブジェクトの保存済の値がコンテキストに含まれている場合、そのアナリティック・ワークスペースをデタッチすると、Oracle OLAPによってそれらのオブジェクトがコンテキストから削除されます。Oracle OLAPオプションについての保存済の値、およびまだアタッチされている他のアナリティック・ワークスペースからのオブジェクトの保存済の値は、コンテキストに維持されます。
コンテキストについての情報は、CONTEXTファンクションを使用して取得できます。
CONTEXTコマンドとCONTEXTファンクションは、PUSHおよびPOP文の代替機能です。ただし、CONTEXTでは保存したオブジェクト値にアクセスしてオブジェクト値を更新できますが、PUSHおよびPOPで行えるのは単に値を保存およびリストアすることのみです。
パラメータ
コンテキストの名前を含むテキスト式。
context-nameに指定された名前でコンテキストを作成します。名前は一意である必要があります。
objectsに指定されたオブジェクトの値をコンテキストに保存します。コンテキストに保存できるのは、単一セルの変数およびリレーションです。ディメンション化された変数の値、ディメンション化されたリレーションまたはNAMEディメンションの値は、CONTEXTコマンドでは保存できません。これらのオブジェクトの値を保存しようとすると、エラー・メッセージが生成されます。
適切なオブジェクトを、コンテキストに保存されている対応するオブジェクトの値に設定します。
コンテキストを削除します。
objectsに指定されたオブジェクトの値をコンテキストに保存します。
objectsに指定されたオブジェクトの値をコンテキストから削除します。
注意: セッション中にOracle OLAPオブジェクトを削除すると、コンテキストからも削除されます。 |
objectsに指定されたすべてのオブジェクトを、コンテキストに保存されている対応するオブジェクトの値に設定します。
1つ以上のオブジェクト名。各オブジェクト名はスペースで区切ります。複数の名前をリストする際に1行に収まらない場合は、継続文字を使用してCONTEXTコマンドを別の行に継続できます。
例
例9-72 ディメンション・ステータスの保存
この例では、CONTEXTコマンドを使用してディメンションのステータスを保存およびリストアする方法を示します。次の文を実行すると、product
ディメンションの値のサブセットを含むコンテキストが作成されます。
LIMIT product TO 'Tents' 'Canoes' CONTEXT 'democontext1' CREATE CONTEXT 'democontext1' SAVE product
次の文で、product
をそのすべての値に制限し、それらをリストするレポートを生成します。
LIMIT product TO ALL REPORT product
これが生成されたレポートです。
PRODUCT ----------- Tents Canoes Racquets Sportswear Footwear
次の文で、保存済のコンテキストを適用して、コンテキスト内に含まれる値のみをリストするレポートを生成します。
CONTEXT 'democontext1' APPLY REPORT product
これが新しいレポートです。
PRODUCT ----------- Tents Canoes