ヘッダーをスキップ
Oracle OLAP DMLリファレンス
11g リリース1(11.1)
E05732-02
  目次へ
目次
索引へ
索引

戻る
戻る
 
次へ
次へ
 

ACROSS

ACROSSコマンドは、ループ内で実行する1つ以上の文を含むテキスト式を指定するコマンドです。ACROSSは、ステータスを、指定されたディメンションの現行のステータスにある値に一時的に設定します。ACROSS文の実行後、ディメンション・ステータスがループ前の状態にリストアされ、次の文を使用してプログラムの実行が再開されます。DO句文内の文の繰返しは、ACROSS文で指定されるディメンションおよびコンポジットのステータスにより制御されます。

構文

ACROSS dimension... DO dml-statements

引数

dimension

現行のステータスが、dml-statementsに含まれる1つ以上の文の繰返しを制御する、1つ以上のディメンションまたはコンポジット。文は、現行のステータスにある指定されたディメンションの値の各組合せに対して繰り返されます。複数のディメンションを指定した場合、最初のディメンションが最後に変化します。

DO dml-statements

ループの各反復時に実行される1つ以上のOLAP DML文である、複数行のテキスト式。どのようなOLAP DML文でも指定できますが、プログラム内の複数行構成の一部として通常使用されるものは例外です。たとえば、IF...THEN...ELSE、WHILE、FORまたはSWITCHコマンドは、ACROSS文では実行できません。

注意

コンパイルしてから実行するまでの間のコードの変更

Oracle OLAPでは、ACROSS文またはそれを含むプログラムが実行されるまで、ループ本体のコードは生成されません。これにより、文がテキスト式内に含まれるため、ACROSSループの内容をコンパイル時と実行時の間に変更できるようになります。

例9-4 ACROSSを使用したROWコマンドの繰返し

レポート・プログラムで、3か月の各月におけるテントの売上数量を表示するとします。次のACROSS文を使用して、monthディメンションのそれぞれの値についてROWコマンドを繰り返します。

LIMIT product TO 'Tents'
LIMIT month TO 'Jan95' to 'Mar95'
ACROSS month DO 'ROW INDENT 5 month WIDTH 6 unit'

     Jan95     533363
     Feb95     572796
     Mar95     707198