なぐりがき

SalesforceからときどきIdol



Salesforce:レポート作成スナップショット

初めて使ってみましたので、メモです。




レポート作成スナップショット

管理→データの管理→レポート作成スナップショット

レポート作成スナップショットを使用して、レポートの実行結果をカスタムオブジェクトのレコードとして保存できます。
レポートとは異なり、レポート作成スナップショットではスケジュールを設定して特定の時間のレポート結果を取得し、そのデータを Salesforce の他のレコードと同様に活用できます。
レポート作成スナップショットの利点は、次のとおりです。

すでに取得されたレポート結果を使用することによる迅速なレポートの実行
すでに取得されたレポート結果を使用することによって迅速に更新されるダッシュボードの作成
リストビューを使用したレポート結果の並び替えと絞り込み
カスタムオブジェクトのレコードを使用してレポート結果の動向を参照

概要はこんな感じです。

ここらへんにも詳しく書いてありました。

https://help.salesforce.com/articleView?id=data_about_analytic_snap.htm&type=0&language=ja





何が出来るの?

概要に書いてある通り、レポートに表示されている項目が日次で別オブジェクトに履歴として登録できます。

レポートは表形式とサマリー形式が対象とできるので、集計値も履歴として登録できるみたいです。

登録したデータは特殊なオブジェクトのデータというわけではないので、
他のカスタムオブジェクトと同様に標準画面表示、ApexやVisualforceページでの利用も可能です。

自分のDeveloper Editionだと20時固定でしかスナップショットをスケジュールできませんが、
本番環境だとおそらく自分の設定した時間にスケジュールできるはずです。
きっちり20時に実行されているわけではないようです。

レコード数が50件くらいで1分もかからないくらいで実行できてますが、
実際に本番環境で利用する時には件数の検証は必要そうです。





何に使うか

サマリー形式レポートで利用できるので、
KPIのサマリを一定期間で記録していくと推移が見れたり、
普通のレポートだと1年前のサマリと今年のサマリの比較って結構しんどいと思うんですが、
スナップショットをとったデータで比較できると思います。

ストレージは消費してしまいますが、バッチとか作らなくて済むので楽に導入できますね。


単なるバックアップをとるのにも使えるかと。

やり方

レポート作成→スナップショットデータを保存するオブジェクト作成→レポート作成スナップショット設定

気になったからやってみたこと

元オブジェクトとスナップショットオブジェクトは主従関係にできるか。
→できない。スナップショットオブジェクトに主従関係項目作ると項目の対応付けができませんでした。
できるようにならないかなぁ。

元オブジェクトとスナップショットオブジェクトは参照関係にできるか。
→できる。スナップショットオブジェクトに参照関係項目を作って、レポートにID項目を持たせておけば対応付けできました。


対応付け項目でエラーが発生してもその項目がスナップショットとられないだけで、
レコード自体はできていました。


まとめ

用途と件数を鑑みて、レポート作成スナップショットも選択肢の1つとする。