DLRS(Declarative Lookup Rollup Summaries Tool)設定マニュアル

By | January 7, 2022

DLRSとは?

下記のようなことができるツール

・参照項目の値の積み上げ集計

・フィルタ条件付きの積み上げ集計(例:受注した商談の金額だけを、取引先で積み上げ集計)

インストール方法

Salesforce.org MetaDeployからインストール

オープンソースのプロジェクトなので、こちらのGitHubでコードが全て公開されています。

インストール時の考慮事項

・Professional Editionの場合、計算モード(Calculation Mode)を必ずProcess Builderに設定する必要がある。この場合、子レコードの削除は積み上げ集計再計算の対象とならない。

・積み上げ集計を行いたい親オブジェクト・子オブジェクトの双方に関して、ビジネスロジックや入力規則その他と干渉しないかどうか、Apex Test Classの実行などによるチェック推奨(※とりわけ、親オブジェクト側にトリガが設定されている場合は、再帰的に動作する可能性があるため、要注意)

・「スケジュール(Scheduled)」モードと比べて、「リアルタイム(Realtime)」モードでの実行は、プラットフォームの制限に引っかかる可能性が高くなる。

・事実上、全ユーザに権限セットの割り当てが必要(※自動化したければ、「The Permissioner」などのApp Exchangeを使う)

制約事項

・Apexで動いているので、ガバナ制限が適用される。

・単一レコードに5万件以上の子レコードが紐づいている場合は、計算不可

・「子レコード」および「フィルタ条件」に利用する項目については、パフォーマンス向上の観点から、インデックス項目化推奨

・数式項目の値を積み上げは、「スケジュール(Scheduled)」モードでのみ可能(※「リアルタイム(Realtime)」モードで動作させると不正な値になる可能性あり。)

初期設定

DLRSの設定をするユーザ:権限セット「Lookup Rollup Summaries – Configure Rollups」を割り当てる

その他のユーザ: 権限セット「Lookup Rollup Summaries – Process Rollups」を割り当てる

DLRSアプリのメニュー紹介

Lookup Rollup Summaries Tools :「積み上げ集計計算のエラーの発生有無」とか「アップデートに伴う推奨アクション」とか「パフォーマンス向上のための推奨アクション」とかを自動で表示してくれる。

Manage Lookup Rollup Summaries:積み上げ集計の設定を実際に行う場所。

Lookup Rollup Summary Logs:積み上げ集計計算時のエラーのログの詳細が見れる。

計算モードについて

リアルタイム(Reatime):子オブジェクトのApex Triggerベースで動作。

スケジュール(Scheduled):Scheduled Apexベースで動作。

デベロッパー(Developer):DLRS Apex Actionを(DLRSが用意しているApex Triggerではなく)自身のApex Triggerから呼び出すときに使う。

プロセスビルダー(Process Builder):DLRS Apex Actionをプロセスビルダーから呼び出す時に使う。

設定

①指示に従って、情報を埋めていき「Active」のチェックボックスを外した状態で「Save」をクリック。

②画面右上に新しく出てきた「Manage Child Trigger」からChild TriggerをDeploy

③元の画面に戻り、改めて「Active」チェックボックスを付けた状態で「Save」をクリック

■例(成約した商談だけを対象に「金額」を取引先の「累計受注金額」項目に集計)