ENDIF
EssbaseのENDIF計算コマンドは、IFコマンド・シーケンスの終わりをマークします。ENDIFコマンドは、IF文またはIF ... ELSEIF文と組み合せてのみ使用できます。
構文
ENDIF;
ノート
-
数式または計算スクリプトのすべてのIF文に、ENDIF文を指定する必要があります。必要なENDIF文を指定しないと、数式または計算スクリプトは検証されません。
-
別のIF文内にネストされたIF文を使用した場合、各IFをENDIFで終了します。例:
"Opening Inventory" (IF (@ISMBR(Budget)) IF (@ISMBR(Jan)) "Opening Inventory" = Jan; ELSE "Opening Inventory" = @PRIOR("Ending Inventory"); ENDIF; ENDIF;)
-
ELSE文またはELSEIF文は、ENDIF文で終了する必要はありません。
-
ENDIF文の末尾にセミコロンを使用して終了する必要はありませんが、数式または計算スクリプトの各ENDIF文の最後には、セミコロンを付ける習慣にすることをお薦めします。
-
IF、ELSE、ELSEIF、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;