ヘッダーをスキップ
Oracle® OLAP DMLリファレンス
11gリリース2 (11.2)
B61346-03
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

IF...THEN...ELSEコマンド

IF...THEN...ELSEコマンドは、OLAP DMLプログラム内で使用すると、指定された条件に適合した場合にプログラム内の1つ以上の文を実行するコマンドです。オプションで、条件に一致しない場合に、かわりになる文または文のグループを実行することも可能です。


注意:

式の条件演算子としてIFを使用することもできます。「IF...THEN...ELSE式」を参照してください。

構文

IF boolean-expression

   THEN statement1

   [ELSE statement2]

パラメータ

boolean-expression

TRUEまたはFALSEを返す有効なブール式。

THEN statement1

Oracle OLAPは、ブール式がTRUEである場合にstatement1引数を実行します。statement1はTHENと同じ行にある必要があります。

ELSE statement2

Oracle OLAPは、ブール式がFALSEである場合にstatement2引数を実行します。statement2はELSEと同じ行にある必要があります。ELSE句を省略した場合、プログラムのIF...THEN...文全体の後ろにある文によって実行が継続されます。

使用上の注意

DOとともに使用するIF

IF文は、THENまたはELSEキーワード(あるいはその両方)をDO ... DOENDシーケンスとともに使用することによって、複数の文を条件付きで実行できます。例10-5「IF...THEN...ELSEの使用方法」を参照してください。

単一行か複数行か

IFを式として使用する場合、THENおよびELSEキーワードはIFと同じ行にある必要があります。IFをコマンドとして使用する場合は、THENおよびELSEは別々の行にある必要があります。

例10-5 IF...THEN...ELSEの使用方法

プログラム内の次の行は、IF...THEN...ELSE...の使用方法を示します。ブール式ANY(DOLLARS LT 200000)TRUEである場合、THENの後の文(statement group 1)が実行されます。式がFALSEである場合、ELSEの後の文(statement group 2)が実行されます。

IF ANY(DOLLARS LT 200000)
THEN DO
  ... " (statement group 1)
  DOEND
ELSE DO
  ... "(statement group 2)
   DOEND

例10-6 条件演算子としてのIFの使用方法

レポートを生成するプログラムで、引数としてプログラムに渡す年によって、前年の実績経費または当年の予算をレポートするとします。JOINCHARSファンクションの条件式は、単語ActualまたはBudgetが付加されたヘッダーを生成します。別の条件式でレポートに対する変数を選択します。プログラムの各行は次のとおりです。

ARGUMENT cur.year year
 
LIMIT month TO year cur.year
REPORT -
   HEADING JOINCHARS( 'Expenses: ' -
                        IF cur.year LT 'Yr95' -
                        THEN 'Actual FOR ' -
                        ELSE 'Budget FOR ', -
                       cur.year ) -
   IF cur.year LT 'Yr95' THEN actual ELSE budget