最佳化和效能考量

  • 在商業規則中使用範本,以避免程式碼區段重複,並善加使用 RTP。
  • 複查每個計算內動態計算成員的相依關係。可能的話,請變更計算以避免包含重複使用的動態計算,或移除動態計算。
  • 使用 FIX 和 IF 陳述式來聚焦您的計算,確保只計算必要資料。
  • 除非您要看到零,否則請避免建立 0 (零) 資料結果;例如,針對存貨層級。這將建立區塊,而區塊包含在所有 FIX 和 IF 陳述式中,而且會進行計算。可能的話,請在資料載入時移除零,或防止在商業規則中建立零。
  • 在用來檢查條件是否存在的 IF 陳述式內,請嘗試避免布林邏輯。例如,將
    IF (("Budget" ==#missing) OR ("Budget" ==0))
    取代為下列內容,這樣會提供相同的結果,但請避免使用布林邏輯:
    IF ("Budget" +1==1) or IF (Budget/Budget ==#missing)
  • 可能的話,請先執行密集計算,再執行稀疏計算。密集計算不會建立封鎖,但稀疏計算會。執行聚總時;例如,若要取得總計以進行配置計算,請確定您只聚總該配置計算所需的資料區段。
  • 最小化資料庫上的階段。
  • 避免遞迴公式。過多的遞迴可能會產生效能問題,而且您可能需要清除值,才能產生一致的結果。
  • 有關在 BSO 立方體中取代零區塊並移除 #missing 區塊以減少資料庫大小的最佳作法,請參閱最佳化 BSO 立方體