Salesforceでのデータ管理において、レコードの変更履歴を追跡することは重要な要素です。
なぜかというと、誰がいつどのような変更を行ったのかを把握することで、データの信頼性を確保できるからです。
本記事では、変更履歴の基本的な概念から、その設定方法、そして変更履歴をレポートで確認する具体的な手順までを紹介します。
項目履歴管理とは
Salesforceの変更履歴(項目履歴管理)とは、標準オブジェクトやカスタムオブジェクトで、事前に指定しておいた項目が変更されたときに、変更前後の値を記録しておける機能です。
管理の視点でおかしなデータ更新を発見することが出来たり、ユーザーの視点では間違って編集したデータを簡単に元に戻せたりというメリットがあります。
また、この機能は指定した項目が変更される度に何度も起動し、履歴を保存し続けます。つまり、現在の値とひとつ前の値が保存されるだけではなく、同じ項目の1か月前変更履歴、2週間前の変更履歴、という形で過去の変更履歴を複数行で保持し続けることができるというスグレモノなのです。
変更履歴はレコードの詳細ページに関連リストとして下図のように表示されます。見方としては「項目」が何の項目を変更したのか?そして「ユーザー」は誰が変更したのか、そして「元の値・新しい値」は項目の値のbefore/afterを表示しており、それらが日付順に並んでいるというわけです。
また、変更履歴(項目履歴管理)は下図の通り、レポートでも表示することが可能です。
考慮事項として、変更履歴(項目履歴管理)は、オブジェクトごとに標準項目とカスタム項目を合わせて最大 20 項目、18か月間まで選択できます。そして組織の有料データストレージの制限にはカウントされない、とHelpに記載があります。
項目履歴監査というライセンスを別途購入すれば、追跡対象の項目を60個、期間は削除されるまでずっと、に拡張することが出来るようです。詳細はこちらのHelpに記載があります。
また、以下の変更履歴は保存することが出来ません。自動的に表示される項目は無理、ということのようですね。
- 数式
- 作成者や最終更新者
- 積み上げ集計
- 自動採番項目
- 商談の期待収益
項目履歴管理の設定方法
オブジェクトマネージャーの「項目とリレーション」を押下し、下図の画面を開きます。右上の「項目履歴管理の設定」ボタンを押下します。
「取引先履歴の有効化」にチェックを入れtrueにします。すると、画面下部に下図のように、履歴を追跡したい項目を選択するための画面が表示されます。
下の方までスクロールすると、「変更のみ追跡」セクションがあります。255 文字を超える項目は、仕様として変更されたということのみが記録され、元の値は保持されません。
必要な項目にチェックを入れたら保存を押します。
次に、ページレイアウト上に関連リストとして履歴を表示するための設定をおこないます。レポートだけで閲覧できればいい、という場合にはこの工程は不要です。
オブジェクトマネージャーから、履歴を表示したいページレイアウトを開きます。
ページレイアウト上に関連リストとして取引先履歴をドラッグアンドドロップし、最後に保存します。
下図の通り、関連リストに表示されました。設定はこれで完了です。
カスタムオブジェクトで項目履歴管理を設定する際の注意事項
カスタムオブジェクトの場合は以下の設定がされていないと項目履歴管理を使用することが出来ません。
オブジェクトマネージャーを開き、サイドメニュー「詳細」を押下、編集を押下します。
項目履歴管理にチェックがついていないと、ページレイアウトに履歴を追加できないですし、履歴も保持されません。
変更履歴をレポートでチェックする方法
先ほど解説した項目履歴管理をONにすると、自動的にレポートタイプが追加されます。取引先であれば「取引先履歴」ですね。こちらのレポートタイプでレポートを作成すればOKです。
レポートの作り方は通常のレポートと特に違いはありません。下図の「項目/行動」の列の概念だけ理解していれば色々アレンジできます。「項目/行動」には変更された項目の項目名が表示されます。
例えば営業部のヨミが前日比で下がっているときに、しれっとヨミを下げた営業担当に経緯をヒアリングするためには「項目/行動」が「金額」の変更履歴だけを表示する絞り込み条件を設定します。さらに、元の値と新しい値を比較する集計レベルの数式を作成すれば、簡単にあぶりだすことが出来ます。
カスタムオブジェクトで項目履歴管理レポートを作成する際の注意事項
オブジェクトが主従関係の従オブジェクトである場合、カスタムオブジェクトの項目履歴管理のレポートは利用できません。
詳しくはこちらのHelpに記載があります。理由も書いていますが読んでもちょっとよくわかりません。すみませんが仕様のためNGということです。
まとめ
Salesforceの変更履歴(項目履歴管理)は、データの透明性と信頼性を確保する上で重要です。
本記事では、変更履歴の基本概念から具体的な設定方法、レポートでの確認方法までを詳しく解説しました。変更履歴を適切に管理することで、誰がいつどのような変更を行ったのかを正確に把握し、データ管理の効率を高めることができます。
項目履歴管理は組織のデータストレージを消費せずに使用できるようなので、積極的に使っていけるとよさそうです。