使用 Groovy 規則和智慧型發送來移動修改過的資料

在本主題中,我們將說明如何使用 Groovy 規則和智慧型發送,將修改過的資料移至報表立方體的最佳作法。

在資料表單上,使用者可以修改員工薪資並指派報表管理員。儲存表單資料後,將會執行智慧型發送,將資料複製到報表立方體來分析。然後,在複製資料時,如有必要也會整合維度。

如果表單包含數百列的資料,則會根據已設定的資料對映來檢查所有資料、先行處理以準備整合維度 (若有設定),然後發送至報表立方體。視表單上的資料數量而定,此程序可能需要一些時間才會完成。

您可以設計 Groovy 規則來識別和隔離已修改的資料,且只將隔離的資料發送至報表立方體,以改善輸入立方體與報表立方體之間的資料同步化效能。

例如,我們為智慧型發送設定一個簡易資料對映,將維度成員從輸入立方體對映至報表立方體。

Groovy 規則,智慧型推送的資料對映範例

然後,我們準備表單來顯示輸入立方體和報表立方體中的資料。

Groovy 規則,輸入立方體表單

Groovy 規則,報表立方體表單

用於輸入資料的表單已啟用智慧型推送,且使用表單環境定義,以針對表單上定義的維度所選取的所有成員,發送資料。

Groovy 規則表單,顯示已啟用智慧型推送和已使用表單環境定義

以下是 Groovy 規則的整個指令碼。

Groovy 規則指令碼範例

指令碼首先識別智慧型推送的相關聯資料對映。

Groovy 規則指令碼,顯示相關聯的資料對映

這段指令碼使用 dataCellIterator 方法來識別並隔離已編輯的儲存格。

Groovy 規則指令碼,顯示 dataCellIterator 方法

然後,這一段取得隔離資料,並使用表單已設定的相關聯智慧型推送和資料對映,以執行聚焦資料移動。當修改過的資料移至報表立方體時會顯示訊息。

Groovy 規則指令碼,顯示僅針對已編輯的員工推送資料

如果沒有修改,當沒有變更且資料未移至報表立方體時會顯示訊息。

Groovy 規則指令碼和訊息資料

我們建立此 Groovy 規則之後,就以部署商業規則時的同樣方式部署它。

Groovy 規則部署

然後,在表單管理中,將它與表單建立關聯。儲存表單資料之後會執行 Groovy 規則。

Groovy 規則,與表單相關聯

Groovy 規則,儲存後執行

若要執行 Groovy 規則,請在輸入立方體中開啟表單,進行一些變更,然後按一下儲存

Groovy 規則,儲存時執行

更新的資料儲存之後會顯示在報表立方體中。