パフォーマンスの問題を解決するための手動アプローチ

不十分なルール設計のチェック

正しい結果と最適なパフォーマンスを確保するには、ベスト・プラクティスとして、計算が実行されるディメンションおよびメンバーを常に指定します。

連結ルールのパフォーマンスを最適化するには、計算の範囲を必要なディメンションとメンバーに制限する必要があります。必要なディメンションとメンバーを計算に追加しない場合、可能性があるすべてのメンバーの組合せに対してルールが実行されます。たとえば、次のサンプル・ルールでは、カスタム・ディメンション・メンバーNo Departmentに対してのみ計算を実行する必要があります。ソースにディメンション・メンバーを追加すると、No Departmentに対してのみルールを実行することで、実行が高速になります。
サンプル・ルール・セットの図

ルールのソース(勘定科目ディメンション)の複数の保管済メンバーのチェック

連結ルールのソースにある多数のレベル0の保管済勘定科目が単一の宛先勘定科目にリダイレクトされた場合、パフォーマンスが低下する可能性があります。そのようなシナリオでは、保管済データ・ストレージを含むプレース・ホルダー勘定科目メンバーを作成し、FCCS_110 (単一通貨アプリケーション)またはFCCS_30 (複数通貨アプリケーション)に挿入ルールを記述して、子の金額をそこにリダイレクトすることをお薦めします。その後で、動的な親のかわりに連結ルールのソースでプレース・ホルダー勘定科目を使用して、ルールの実行を高速化できます。

ユース・ケース: 構成可能な連結ルールをデプロイした後のパフォーマンス問題の解決

この例では、100個のP/L勘定科目(Acc_001からAcc_100)が、アプリケーションの多数のP/L勘定科目の1つである動的な親Retained Earnings Currentの下に存在すると想定しています。次の図を参照してください。
多数の保管済メンバーを含むサンプルの動的な親

次の図は、参照を通してRetained Earnings Currentをソースとして直接的または間接的に使用するルールを示しています。
直接参照を使用するサンプル・ルール


間接参照を使用するサンプル・ルール
前述の間接参照では、Retained Earnings Currentのすべてのレベル0の子はTotal Equityの下にあるため、間接的にソースに含まれます。

ルール定義を変更し、リダイレクト・スクリプトを追加してルールの実行を高速にするには、次の手順が必要です:

  1. プレースホルダー勘定科目を作成します。

    Retained Earning_Memoという名前のメモ勘定科目をFCCS_BalanceSheetの下に作成します。集計演算子を無視(~)に設定し、データ・ストレージを「保管」に設定します。他のすべてのプロパティは、動的な親のプロパティと同じになります。次の図に示すように、Retained Earning_Memoプレース・ホルダー勘定科目は、Retained Earnings Currentの値を保持します。
    サンプル・メモ勘定科目

  2. キューブをリフレッシュします。
  3. FCCS_30で、ソース利益値をRetained Earning_Memoにコピーします。次のサンプル・スクリプトを使用して、子の値をRetained Earning_Memoにコピーできます。必要に応じて、要件にあわせてこのスクリプトを変更してください。構成可能な計算のパフォーマンスのベスト・プラクティスの詳細は、Financial Consolidation and Closeの管理構成可能な計算のベスト・プラクティスを参照してください。
    SET HYBRIDBSOINCALCSCRIPT NONE;// Use with Hybrid environments only.
    FIX("FCCS_Entity Input", "Parent Currency", "Opening Balance", @RELATIVE("FCCS_Total Data Source", 0), @RELATIVE("FCCS_Intercompany Top", 0))
            "Retained Earning_Memo" (
               @CALCMODE(BOTTOMUP);
               @SUM(@RELATIVE("FCCS_Retained Earnings Current", 0) AND @LIST(@UDA("Account", "REVENUE") OR @UDA("Account", "LIABILITY") OR @UDA("Account", "EQUITY") OR @UDA("Account", "SAVED ASSUMPTION"))) - @SUM(@RELATIVE("FCCS_Retained Earnings Current", 0) AND @LIST(@UDA("Account", "EXPENSE") OR @UDA("Account", "ASSET")));
            ) 
    ENDFIX
  4. Retained Earning_Memoを、Retained Earnings Currentが使用されている構成可能な連結ルールでソースとして使用します。
    1. ILvl0Descendants(Retained Earnings Current)がソースで直接使用される場合: 次の図は、このユース・ケースの推奨事項を実装する前のルールを示しています。
      メモ勘定科目を使用しないルールの図

      次の図は、このユース・ケースの推奨事項を実装した後のルールを示しています。
      メモ勘定科目を使用するルールの図

    2. ILvl0Descendants(Retained Earnings Current)が間接的に使用される場合: 次の図は、このユース・ケースの推奨事項を実装する前のルールを示しています。
      メモ勘定科目を使用しないルールの図

      次の図は、このユース・ケースの推奨事項を実装した後のルールを示しています。
      メモ勘定科目を使用しないルールの図