檢查不良的規則設計
為了確保正確的結果和最佳效能,最佳作法一律是指定要對其執行計算的維度和成員。
最佳整合規則效能需要將計算範圍限制為必要維度和成員。未將必要維度和成員新增至計算,會強制對所有可能的成員組合執行規則。例如,下列範例規則需要只對自訂維度成員 No Department
執行計算。在來源中新增維度成員時,只對 No Department
執行規則,以加快執行。
檢查規則來源中的多個已儲存成員 (Account 維度)
將整合規則來源中的許多層級 0 已儲存科目重新導向至單一目標科目時,效能可能會降低。在這類情況下,Oracle 建議您建立具有已儲存資料儲存的預留位置科目成員,以及在 FCCS_110 (單一幣別應用程式) 或 FCCS_30 (多幣別應用程式) 中寫入插入規則,以將子項金額重新導向至其中。您接著可以使用整合規則來源中的預留位置科目來取代動態父項,確保更快速地執行規則。
使用案例:解決部署可設定的整合規則之後的效能問題
此範例假設 100 P/L 科目 (Acc_001 到 Acc_100) 存在於動態父項 Retained Earnings Current
下方,而此父項是應用程式中的其中一個 P/L 科目。請參閱下列圖形。
下列圖形圖解說明直接或間接透過參照以使用 Retained Earnings Current
作為來源的規則。
在先前的間接參照中,Retained Earnings Current
的所有層級 0 子項都會間接是來源的一部分,因為它位在 Total Equity
下方。
下列步驟涉及變更規則定義以及新增重新導向指令碼,讓規則執行地更快:
在 FCCS_BalanceSheet 下方建立名稱為 Retained Earning_Memo 的備忘錄科戶。設定要忽略的整合運算子 (~) 以及要儲存的資料儲存。所有其他特性將會與動態父項的特性相同。如下列圖解所示,Retained Earning_Memo 預留位置科目將保留 Retained Earnings Current 的值。
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
下列圖解顯示在實作此使用案例中的建議之後的規則。
下列圖解顯示在實作此使用案例中的建議之後的規則。