ELSEIF

EssbaseELSEIF計算コマンドは、先行するIFテストがFALSEの値を生成した場合に実行される条件付きテストおよび条件を指定します。このため、単一のIFの後に、複数のELSEIFコマンドを使用できます。

構文

ELSEIF( condition ) statement ; [ ...statement ; ]
ELSEIF | ELSE | ENDIF

パラメータ

condition

TRUE(ゼロ以外の値)またはFALSE(ゼロの値)のブール値を返す数式または関数。

statement

IFテスト(ELSEコマンドを含む)がFALSEまたは0の結果を生成した場合に実行される操作。

ノート

  • ELSEIFコマンドは、IFコマンドと組み合せて使用する必要があります。

  • ELSEIF文は、ENDIF文で終了する必要はありません。IF文のみが、ENDIF文で終了する必要があります。例:

         IF (condition)
             statement;
             IF (condition)
                statement;
             ELSEIF (condition)
                    statement;
             ENDIF;
          statement;
          ENDIF;

次の例は、Sample Basicデータベースに基づいています。この計算スクリプトは、Marketディメンションの現在のメンバーがWestまたはEastの子孫であるかどうかをテストします。そうである場合、EssbaseはMarketingの値に1.5を乗算します。次に、計算スクリプトは、現在のメンバーがSouthの子孫であるかどうかをテストします。その場合、Essbaseは、Marketingの値に0.9を乗算します。現在のメンバーがWest、East、またはSouthの子孫でない場合、Essbaseは、Marketingの値に1.1を乗算します。

IF (@ISMBR(@DESCENDANTS(West))
         OR 
    @ISMBR(@DESCENDANTS(East))
       )
    Marketing = Marketing * 1.5;
ELSEIF(@ISMBR(@DESCENDANTS(South))
    )
    Marketing = Marketing * .9;
ELSE 
    Marketing = Marketing * 1.1;
ENDIF;