在此範例中,我們已將五個年累計成員新增至 Account 維度:"4110_UTD"、"4120_YTD"、"4130_YTD"、"4140_YTD"、"4150_YTD"。然後建立商業規則:
商業規則計算兩個 YTD 科目,然後透過 Product 和 Entity 維度聚總值。
查看已選取之僅執行的日誌訊息,我們可以看到大部分規則時間是在第一次執行時獲得的。
取消選取僅執行,可讓我們查看日誌的 pass1 區段中的區塊讀取/寫入次數。
檢閱語法,我們可以看到在 Entity 和 Product 上的計算並沒有 Fix;因此,所有規則都在 Entity 與 Product 的所有層級上執行。不需要計算 pass1 的上層,因為無論如何這些都會被第二次執行的 AGG 陳述式覆寫。
複查規則,並增加額外的 Fix 陳述式,以將 Entity 與 Product 的 lev0 新增至 Pass1。
然後再次執行規則。
修改之後,Pass1 仍需要最長的時間,但因為不再需要計算上層區塊,現在時間加快 20%。整體計算時間也提高 20%。
取消選取僅執行,我們可以看到日誌的 Pass1 區段中的區塊、讀取、寫入次數在變更後下降。
正如我們在活動報表中所見,這樣可以減少對整個業務規則 (兩次執行) 的讀取與寫入次數。