モデル・コンテキストおよびルール・セット・コンテキストの理解

多数のルールを作成する場合は、モデル・コンテキストとルール・セット・コンテキストを使用して、モデルまたはルール・セットのすべてのルールに同じメンバーを使用するディメンションに対して、デフォルト・メンバー選択を定義できます。これにより、ルールでディメンションが使用されるたびに、ディメンションの同じメンバーを選択する必要がなくなります。

Enterprise Profitability and Cost Managementに付属のBksML50サンプル・アプリケーションを使用した例について考えてみましょう。サンプル・アプリケーションには、Enterprise Profitability and Cost Managementで必要なエンティティ・ディメンションおよび勘定科目ディメンションに加えて、顧客、アクティビティ、ドライバおよび製品のカスタム・ディメンションが含まれます。そのため、サンプル・アプリケーションで作成するルールごとに、エンティティ、勘定科目、顧客、アクティビティ、ドライバおよび製品のメンバーを選択する必要があります。ルールの作成時のディメンションおよびメンバーの要件を参照してください。

この例では、次のようにモデルおよびルール・セットを設定します:

  • モデル: 10 Actuals Allocation Process

  • ルール・セット: Occupancy Expense Allocations

まず、10 Actuals Allocation Processモデルを設定します。この例では、モデル・コンテキストを設定して、エンティティ、勘定科目、顧客、アクティビティ、ドライバおよび製品の任意のディメンションのデフォルト・メンバーを選択できます。

ドロップダウンに「エンティティ」、「勘定科目」、「顧客」、「アクティビティ」、「ドライバ」および「製品」が表示された「モデルの作成」画面

実行する計算のタイプを検討する場合、これらのいずれかのディメンションの特定のメンバーに計算を絞り込むことが合理的かどうかについて考えます。

この例では、いくつかの時点で、配賦およびカスタム計算が、アクティビティ、顧客、製品、エンティティのすべてと、いくつかの勘定科目に影響します。ドライバ・ディメンションはその影響を受けません。ドライバには1つのメンバーのみがあり、そのメンバーを使用する1つのルールのみがあると仮定します。ドライバは1つのルールでのみ使用されるため、ドライバ・ディメンションのデフォルト選択を定義するモデル・コンテキストを作成すると、モデリング・プロセスで時間を節約できます。

ドライバが選択されたモデル・コンテキスト

ドライバ・ディメンションに実際のディメンション・メンバーを割り当てることはないため、デフォルト・メンバー選択にはNoDriverを選択します。NoDriverは、ルールで使用されないディメンションであってもすべてのディメンションでメンバーが必要であるという要件を満たすメンバーです。(ドライバ・ディメンションの作成時に、NoDriverメンバーが設定されて、ドライバのカスタム・ディメンションに追加されています。)

この時点では、コンテキストの選択は次のとおりです:

モデル・コンテキストに対して選択されたNo Driverを示すExcelスプレッドシート

次のステップは、Occupancy Expense Allocationsルール・セットの作成です。このルール・セットでは、10 Actuals Allocation Processモデルの作成時にドライバ・ディメンションをNoDriverに設定して定義したモデル・コンテキストを使用します。これを行うには、ルール・セットの作成ページの「定義」タブで「モデル・コンテキストの使用」を選択します。

「モデル・コンテキストの使用」が選択されたOccupancy Expense Allocationsのルール・セットの作成ページ

モデル・コンテキストの使用に加えて、ルール・セット・コンテキストを作成して、エンティティ、勘定科目、顧客、アクティビティおよび製品の任意のディメンションのデフォルト・メンバーを定義できます。(このルール・セット・コンテキストでは、ドライバ・ディメンションを選択できないことに注意してください。これは、ドライバ・ディメンションに対してNoDriverが定義されたモデル・コンテキストを有効化したためです。モデル・コンテキストで定義されたディメンションは、ルール・セット・コンテキストでは選択できません。)

ドロップダウンに「エンティティ」、「勘定科目」、「顧客」、「アクティビティ」および「製品」が表示されたルール・セットの作成ページ

Occupancy Expense Allocationsルール・セットのルールの作成中であるため、アクティビティ、製品または顧客のディメンションのデータは移動しませんが、エンティティ・ディメンションと勘定科目ディメンションのデータは移動します。アクティビティ、製品および顧客のディメンションは、ルール・セットに作成するルールには適用されないため、これらのディメンションに対して、ルール・セット・コンテキストをNo ActivityNo CustomerおよびNo Productに設定します。

No Activity、No Customer、No Productが指定されたルール・セット・コンテキスト

モデル・コンテキストで定義したNoDriverの選択での対応と同様に、これらの"No<dimname>"メンバーを割り当てて、ルールで適用されないディメンションであってもすべてのディメンションでメンバーが必要であるという要件を満たします。ルール・セット・コンテキストでこれらの選択を行うことは、ルール・セットに作成するすべての新規ルールでこれらのディメンションのメンバーを選択する必要がないことを意味します。

この時点では、コンテキストの選択は次のとおりです:

Excelスプレッドシートに表示されたルール・コンテキストのディメンションの選択

これで、Occupancy Expense Allocationsルール・セットにルールを作成する準備ができました。このルール・セットに作成するルールごとに、「ルール・セット・コンテキストの使用」を選択します。

「ルール・セット・コンテキストの使用」が選択された、ルールを作成するためのオプション

この例のルール・セット・コンテキストには、アクティビティ、顧客および製品のディメンションが含まれることに留意してください。さらに、このルール・セットでは、ドライバ・ディメンションにデフォルト値を設定したモデル・コンテキストも使用します。そのため、ルール・レベルの定義画面に移動すると、エンティティと勘定科目のメンバーを選択するためのオプションのみが表示されます。

「エンティティ」と「勘定科目」が表示された配賦ルールの作成ページ

「エンティティ」と「勘定科目」が表示されたカスタム・ルールの作成ページ

この時点では、コンテキストの選択は次のとおりです:

Excelスプレッドシートに表示されたルールのディメンションの選択

モデル・コンテキストとルール・セット・コンテキストのいずれかが適用されないルールを作成する場合は、これらの選択を無効化できます。ルール・レベルでは、「ルール・セット・コンテキストの使用」の選択を解除して、例外を処理します。ルール・セット・レベルでは、「モデル・コンテキストの使用」の選択を解除して、例外を処理します。ルール・セット・コンテキストにはモデル・コンテキストも含まれるため、「ルール・セット・コンテキストの使用」の選択を解除する場合は、「モデル・コンテキストの使用」の選択も解除します。

例では、「ルール・セット・コンテキストの使用」の選択を解除すると、アプリケーションのすべてのディメンションが、配賦ルール用の「ソース/宛先」タブとカスタム・ルール用の「ターゲット」タブに表示されます。具体的には、エンティティ・ディメンションと勘定科目ディメンションに加えて、ルール・セット・コンテキストからのアクティビティ、顧客および製品のディメンションが表示されて、モデル・コンテキストからのドライバ・ディメンションが表示されるようになりました。

すべてのディメンションが表示された「配賦ルールの作成」の「ソース/宛先」タブ

すべてのディメンションが表示された「カスタム・ルールの作成」の「ターゲット」タブ

ここで、BksML50サンプル・アプリケーションにルールを設定して、モデル・コンテキストとルール・セット・コンテキストを定義しなかった場合にどうなるかについて考えてみましょう。引き続き各ルールには、配賦ルールのソースおよび宛先またはカスタム・ルールのターゲットに定義された6つすべてのディメンションが必要です。モデルとルール・セットのコンテキストを定義しなかった場合は、作成するすべてのルールで、すべてのディメンションのメンバーを手動で選択する必要があります。ルール・セットに200個のルールが含まれ、そのすべてで同じディメンションを使用する場合は、ルール・セット・コンテキストでディメンションのメンバーを定義する方が、その後の各ルールの定義時に選択するよりも効率的です。