オンデマンド・ルールは、Calculation Managerを使用して作成します。
テンプレートは、ルール内でドラッグ・アンド・ドロップできます。テンプレートを使用しているルールをデプロイすることはできますが、テンプレートを単独でデプロイすることはできません。
置換変数
新しいルールを追加すると、Calculation Managerにより、シナリオ、年、期間、エンティティ、連結および通貨ディメンションの実行時プロンプトとして、ルールに対して6つのシステム置換変数が自動的に作成されます。ユーザーは、実行時プロンプトを使用して、ルールの起動時にこれらのディメンションのメンバーを選択します。これらの変数に対する実行時プロンプトのテキストを変更することはできますが、削除することはできません。ユーザーは、実行時にデフォルト・メンバーを上書きできます。
ルールで必要であれば、追加の置換変数を定義できます。
「ルール」カードから最初にオンデマンド・ルールを起動する際に、実行時プロンプトにデフォルト・メンバーが指定されていない場合、プロンプトは空白になります。その後、ルールを起動すると、最後に使用されたメンバーがプロンプトに表示されます。
フォームからオンデマンド・ルールを起動すると、実行時プロンプトでは、デフォルトで、現在選択されているセルの視点からのメンバーが表示されます。ただし、システムでディメンションに対して特定のメンバーを常に使用する場合、変数に指定した値で上書きするオプションを選択できます。「オーバーライド値として使用」に値を指定すると、その値は「ルール」カードでも使用されます。
置換変数に対して「非表示」オプションを選択すると、ユーザーは実行時に値を要求されず、かわりにその変数の置換変数定義に指定された値が使用されます。このオプションは、データ・フォームまたは「ルール」カードから起動する場合も同じです。
6つのすべての置換変数は、ルールの「変数」タブでルールの一部として参照できます。
注:
オンデマンド・ルールに対しては「変数のマージ」オプションを使用できません。オンデマンド・ルールの実行時プロンプトは、ルール・レベルで定義されます。Calculation Managerによってルールレベルの実行時プロンプトはマージされません。オンデマンド・ルールでは、ルールセットはサポートされていません。デプロイメント前にルールを検証できるように、変数の「検証」列に値を入力する必要があります。
ルールを検証する場合、「値」列にデフォルト値を指定しなかったすべての実行時プロンプト・ディメンションに対してメンバーを指定する必要があります。
オンデマンド・ルールでサポートされているディメンション・メンバー
オンデマンド・ルールでは、ルール・スクリプトの一部として、次のディメンションのOUTER FIX文が自動的に挿入されます。スクリプトのFIX文の一部としてこれらのディメンションを含める必要はありません。これらのディメンションの値は、ユーザーが値を入力できるポップアップ・プロンプトで指定します。システムでは、ソースのデフォルト値が使用されますが(たとえば、データ・フォームやOracle Smart View for Officeグリッドから起動された場合はセルPOV)、ユーザーはルールの実行前にその値を変更できます。
Essbase計算スクリプトの操作を参照してください。
次のメンバーは、オンデマンド・ルールの実行時プロンプトでサポートされています。
シナリオ - 1つの基本メンバーを選択する必要があります。
年 - 1つの年を選択する必要があります。
期間 - 1つの基本メンバーを選択する必要があります。
エンティティ - 1つ以上の基本または親エンティティ/関数を選択できます。
FCCS_Global Assumptionsメンバーまたはその子孫(存在する場合)は、エンティティ・ディメンションの実行時プロンプトには使用できません。
通貨 - エンティティ通貨または入力通貨を選択できます
連結 - 「FCCS_Entity Input」、「FCCS_Translated Currency Input」、「FCCS_Amount Override」または「FCCS_Rate Override」を選択できます。
注:
連結ディメンションでは、「FCCS_Amount Override」または「FCCS_Rate Override」を使用する場合、最初に、連結キューブの次の代替変数を設定して有効にする必要があります:
ODR_ENABLE_RATE_AMOUNT_OVERRIDE = TRUE
代替変数の作成および値の割当てを参照してください。
次のディメンションは、実行時プロンプトでは使用できませんが、オンデマンド・ルールではサポートされています。
ビュー - 期間ビューのみを選択できます。期間ビュー・メンバーは、FIX文で、またはターゲットとして指定する必要があります。
勘定科目および増減 - Essbase計算スクリプトの操作を参照してください。これらのどのディメンションのメンバーも指定しない場合、すべてのメンバーに対してルールが処理されます。システム制限されているメンバーは、FIX文で除外する必要があります。
データ・ソース - Essbase計算スクリプトの操作を参照してください。
注:
FCCS_Intercompany Eliminationsメンバーは、オンデマンド・ルールでは無効です。
複数GAAP、会社間およびカスタム - これらのディメンションのメンバーを指定しない場合、ディメンションのすべてのメンバーに対してルールが処理されます。
オンデマンド・ルールのベスト・プラクティス
ルールを作成する際のベスト・プラクティスは、構成可能な計算のベスト・プラクティス、Essbase計算スクリプトの操作およびサポートされているEssbase関数を参照してください。
オンデマンド・ルールを作成する場合、状況に応じて次のロジックを含める必要があります。
適切な設定を保証するためにEssbaseで必要な任意のSETコマンドを含めます
任意のブロックの作成(CREATE)またはブロックのクリア(CLEAR)・コマンドを含めます
期間および増減を密ディメンションとして使用する密/疎最適化オプションを使用している場合にオンデマンド・ルールを実行するには、ルールの前にブロックを作成する必要があります。Oracle Essbaseテクニカル・リファレンスの@CREATEBLOCK関数を参照してください。
非集約ディメンションに対する適切なCALC DIM文を含めます
システムにより、オンデマンド・ルールには次のセクションが含められます。
プロンプトからOUTER FIX文が含められます
任意のステータス処理ルーチンが含められます
FIXでのオンデマンド・ルールの実行
デフォルトでは、オンデマンド・ルールはFIXPARALLELで実行されます。FIXPARALLELコマンドには、6つの実行時プロンプト(RTP): シナリオ、年、期間、エンティティ、連結および通貨のメンバーが含まれます。FIXで同じオンデマンド・ルールを実行する必要がある場合は、置換変数を定義できます。<RuleName>_FPという名前の代替変数を連結キューブに追加して、値をFalseに設定できます。たとえば、ルール名がODR- Calculate Salesの場合は、変数にODR_CALCULATE_SALES_FP
という名前を付けます。ルール名のハイフンは変数名ではアンダースコアに置き換えられ、変数名にはスペースがないことに注意してください。