Groovyルールとスマート・プッシュを使用した変更済データの移動

このトピックでは、レポート・キューブに変更済データを移動するためにGroovyルールとスマート・プッシュを使用する方法のベスト・プラクティスについて説明します。

データ・フォームで、ユーザーは従業員の給与を変更し、レポート・マネージャを割り当てることができます。フォーム・データが保存されると、スマート・プッシュが実行されて、データが分析のためにレポート・キューブにプッシュされます。また、必要な場合には、データがコピーされているときにディメンションが連結されます。

フォームに数百行のデータが含まれていても、すべてのデータが構成済のデータ・マップに対して確認され、ディメンション連結(設定されている場合)の処理が行われてから、レポート・キューブにプッシュされます。フォームのデータ量によっては、このプロセスが完了するまでにしばらく時間がかかります。

入力とレポート・キューブの間でのデータ同期のパフォーマンスを向上させるには、変更したデータを識別して分離し、分離したデータのみをレポート・キューブにプッシュするようにGroovyルールを設計します。

たとえば、ディメンション・メンバーを入力キューブからレポート・キューブにマッピングする単純なデータ・マップをスマート・プッシュのために構成したとします。

スマート・プッシュ用のGroovyルールのサンプル・データ・マップ

次に、入力のデータとレポート・キューブを表示するフォームを用意しました。

Groovyルールの入力キューブ・フォーム

Groovyルールの「レポート・キューブ」フォーム

データ入力に使用されるフォームは、スマート・プッシュに対応しており、フォームのコンテキストを使用して、フォームで定義されたディメンションについて選択されているすべてのメンバーのデータをプッシュします。

スマート・プッシュ対応とフォーム・コンテキスト使用が示されているGroovyルールのフォーム

Groovyルールのスクリプト全体を次に示します。

Groovyルールのスクリプトの例

スクリプトでは、スマート・プッシュのために関連付けられたデータ・マップが最初に指定されます。

関連付けられたデータ・マップが示されているGroovyルール・スクリプト

スクリプトのこのセクションでは、dataCellIteratorメソッドを使用し、編集済のセルを識別して分離します。

dataCellIteratorメソッドが示されているGroovyルール・スクリプト

次のセクションでは、分離されたデータを受け取り、スマート・プッシュと、構成されてこのフォームに関連付けられているデータ・マップを使用して、集中的なデータ移動を実行します。変更済データがレポート・キューブに移動されるとメッセージが表示されます。

編集済従業員のみのデータのプッシュが示されているGroovyルール・スクリプト

変更がないときは、変更箇所がなく、データがレポート・キューブに移動されなかったというメッセージが表示されます。

メッセージ・データが含まれるGroovyルール・スクリプト

このGroovyルールを作成した後、ビジネス・ルールをデプロイするのと同じ方法でデプロイしました。

Groovyルールのデプロイ

次に、フォームの管理でルールをフォームに関連付けます。このGroovyルールは、フォーム・データが保存された後で実行します。

Groovyルールとフォームの関連付け

保存後に実行されるGroovyルール

Groovyルールを実行するには、入力キューブでフォームを開き、変更を加えてから「保存」をクリックします。

保存時に実行されるGroovyルール

保存されると、更新されたデータがレポート・キューブに表示されます。