EXCLUDE…ENDEXCLUDE
EssbaseのEXCLUDE…ENDEXCLUDE計算コマンド・ブロックを使用すると、関連するコマンドの影響を受けない固定範囲のメンバーを定義できます。
EXCLUDEコマンドは、コマンド・ブロック内で、関連するコマンドの影響を受けない固定除外範囲のメンバーを開始します。ENDEXCLUDEコマンドは、EXCLUDEコマンド・ブロックを終了します。
例に示すように、EXCLUDEコマンド・ブロック内のすべてのコマンドが呼び出された後、計算スクリプトの次の要素の前に、ENDEXCLUDEを呼び出します。
計算対象から除外するメンバーをEXCLUDE..ENDEXCLUDEコマンド内で指定すると、FIX…ENDFIXコマンド内でメンバー名の複雑な組合せを指定するよりも、簡単に表現できることがあります。
構文
EXCLUDE (Mbrs)
COMMANDS ;
ENDEXCLUDE
パラメータ
ノート
-
EXCLUDE…ENDEXCLUDEコマンドは、アウトライン・メンバー式内でなく、計算スクリプト内でのみ使用します。
-
EXCLUDEコマンドは、FIXコマンド・ブロック内に含められます。
-
EXCLUDEコマンド・ブロック内のFIXコマンドが、EXCLUDE文ですでに指定されているセルを指定している場合、それらのセルは計算されず、警告メッセージがアプリケーション・ログ・ファイルに投稿されます。
-
EXCLUDEコマンド・ブロックに、CALC ALLコマンド、CLEARDATAコマンド、DATACOPYコマンドは含められません。
-
AND演算子とOR演算子の優先順位は同じであり、左から右に向かって評価されます。カッコを使用して式をグループ化します。例:
A OR B AND C
は((A OR B) AND C)
と同じです。ただし、副次式((A OR (B AND C)など)
は、式全体の前に評価されるため、異なる結果が生成されます。 -
EXCLUDEコマンド・ブロック内部では、AND演算子は、2つのセットの交差を表します。OR演算子は、2つのセットの和集合を表します。数式内では、これらの演算子はブール演算子です。AND演算子またはOR演算子を異なるディメンションのメンバーで使用すると、次の結果が返されます。
-
AND: 空のセット。EXCLUDE文は無視され、計算は警告メッセージとともに続行されます。
-
OR: 2つのメンバー・セットの和集合。EXCLUDE (Jan OR Market)は、FIX (Jan, Market)と同一です。
-
-
NOT演算子は、EXCLUDEコマンド・ブロックではサポートされません。@REMOVE関数を使用します。
-
ENDEXCLUDEの後にセミコロンを付ける必要はありません。
-
@ATTRIBUTE関数と@WITHATTR関数を使用して、EXCLUDEコマンド・ブロック内の属性を指定します。この例は、
EXCLUDE(@ATTRIBUTE(Can))
です。FIX(Can)
はサポートされません。 -
ディメンションが、EXCLUDEコマンド・ブロック内で計算するディメンションのサブセットである場合、ディメンションでEXCLUDEを使用することはできません。たとえば、コマンド・ブロック内のすべてのMarketを計算する場合、EXCLUDE文内でMarket "New Mkt"を使用することはできません。
-
動的計算メンバーは、EXCLUDE文では無視されます。EXCLUDE文の唯一のメンバーが動的計算メンバーである場合、EXCLUDE文に動的計算メンバーは含められないことを示すエラー・メッセージが表示されます。
-
EXCLUDEコマンドが計算スクリプトから発行され、空のセットが生成された場合、計算のその部分は無視され、計算は次の文に進みます。計算のアプリケーション・ログ・エントリは、EXCLUDE文が空のセットに対して評価されたことを示しています(固定メンバー[]を持つ[…]の計算)。
たとえば、Sample Basic計算スクリプトの次の文について考えます。
EXCLUDE (@children(Jan)) CALC DIM (Accounts, Product, Market) ENDEXCLUDE
@children(Jan)は空であるため(Janはレベル0メンバー)、EXCLUDEパラメータは無視されます。計算はデータベース全体に対して実行されます。
同様に、パーティションまたはセキュリティ・フィルタを定義するリージョンが、空のセットであると評価された場合、Essbaseは、リージョン定義またはセキュリティ・フィルタが存在しないのと同じに動作します。
-
計算機関数@RANGEおよびディメンション間演算子(->)は、EXCLUDE Mbrsパラメータ内では使用できません。
例
次の例では、Qtr4の子の計算を除外し、Yearディメンションの他の四半期の計算を有効にします。
EXCLUDE (@CHILDREN(Qtr4))
CALC DIM (Year)
ENDEXCLUDE