ACROSSコマンドは、ループ内で実行する1つ以上の文を含むテキスト式を指定するコマンドです。ACROSSは、ステータスを、指定されたディメンションの現行のステータスにある値に一時的に設定します。ACROSS文の実行後、ディメンション・ステータスがループ前の状態にリストアされ、次の文を使用してプログラムの実行が再開されます。DO句文内の文の繰返しは、ACROSS文で指定されるディメンションおよびコンポジットのステータスにより制御されます。
構文
ACROSS dimension... DO dml-statements
引数
現行のステータスが、dml-statementsに含まれる1つ以上の文の繰返しを制御する、1つ以上のディメンションまたはコンポジット。文は、現行のステータスにある指定されたディメンションの値の各組合せに対して繰り返されます。複数のディメンションを指定した場合、最初のディメンションが最後に変化します。
ループの各反復時に実行される1つ以上のOLAP DML文である、複数行のテキスト式。どのようなOLAP DML文でも指定できますが、プログラム内の複数行構成の一部として通常使用されるものは例外です。たとえば、IF...THEN...ELSE、WHILE、FORまたはSWITCHコマンドは、ACROSS文では実行できません。
注意
コンパイルしてから実行するまでの間のコードの変更
Oracle OLAPでは、ACROSS文またはそれを含むプログラムが実行されるまで、ループ本体のコードは生成されません。これにより、文がテキスト式内に含まれるため、ACROSSループの内容をコンパイル時と実行時の間に変更できるようになります。
例