このトピックでは、レポート・キューブに変更済データを移動するためにGroovyルールとスマート・プッシュを使用する方法のベスト・プラクティスについて説明します。
データ・フォームで、ユーザーは従業員の給与を変更し、レポート・マネージャを割り当てることができます。フォーム・データが保存されると、スマート・プッシュが実行されて、データが分析のためにレポート・キューブにプッシュされます。また、必要な場合には、データがコピーされているときにディメンションが連結されます。
フォームに数百行のデータが含まれていても、すべてのデータが構成済のデータ・マップに対して確認され、ディメンション連結(設定されている場合)の処理が行われてから、レポート・キューブにプッシュされます。フォームのデータ量によっては、このプロセスが完了するまでにしばらく時間がかかります。
入力とレポート・キューブの間でのデータ同期のパフォーマンスを向上させるには、変更したデータを識別して分離し、分離したデータのみをレポート・キューブにプッシュするようにGroovyルールを設計します。
たとえば、ディメンション・メンバーを入力キューブからレポート・キューブにマッピングする単純なデータ・マップをスマート・プッシュのために構成したとします。

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


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

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

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

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

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

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

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

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


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

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