【Salesforce】重複レコードセットが想定と違う時の監査ログと履歴で追う方法

【Salesforce】重複レコードセットが想定と違う時の監査ログと履歴で追う方法
🛡️ 超解決

Salesforceで重複ルールを設定しても、意図したレコードセットが検出されなかったり、想定外のレコードが重複としてマッチしてしまうことがあります。こうした問題が発生した場合、重複ルールの定義そのものだけでなく、過去の設定変更やレコードの更新履歴を確認することが重要です。本記事では、監査ログとフィールド履歴追跡を用いて、重複レコードセットが想定と違う原因を特定する方法を解説します。具体的な手順や注意点も含めて、実務で役立つ情報をまとめました。

【要点】この記事で確認すること

  • 最初に見る場所: 重複ルールの条件定義、照合ルールの設定、監査ログの「重複ルール」関連イベント、対象オブジェクトのフィールド履歴。
  • 切り分けの軸: ルール定義の問題(条件・照合ルール)、データの問題(値の揺れ・トリミング)、設定変更のタイミング(ルールが変更された日時)、ユーザ権限(重複ルールの管理権限)。
  • 注意点: 監査ログは一定期間(標準で180日)しか保持されないため、早めに確認してください。また、フィールド履歴追跡は事前に設定が必要です。設定変更は管理者に依頼し、勝手に変更しないでください。

ADVERTISEMENT

1. 重複レコードセットが想定と違う原因の基本切り分け

重複ルールが想定通りに動作しない場合、まずはルール定義とデータの状態を切り分ける必要があります。以下に代表的な原因を挙げます。

ルール定義の確認ポイント

重複ルールは、オブジェクトごとに「条件」と「照合ルール」で構成されています。条件はレコード全体の絞り込み(例:ステータスが「アクティブ」)、照合ルールは個別フィールドの一致条件(例:メールアドレスが完全一致)です。想定と違うセットが検出された場合、まずはこの条件が意図通りか確認してください。例えば、条件で「ステータスがアクティブ」と指定していても、過去に非アクティブだったレコードが重複として検出されるケースがあります。これはルールの変更履歴が原因かもしれません。

データの状態と重複条件

データの揺れも大きな要因です。例えば、全角半角の違い、スペースの有無、大文字小文字などが一致条件に影響します。また、数値フィールドであれば、先頭ゼロの扱いなども注意が必要です。重複レコードセットが想定外の組み合わせで表示される場合、該当フィールドの実際の値を確認してみてください。

2. 監査ログでルールの変更履歴を確認する手順

重複ルールの定義がいつ変更されたかを追跡するには、監査ログが役立ちます。以下の手順で操作してください。

  1. 歯車アイコンから「設定」を開きます。
  2. 左側のメニューで「監査ログ」→「監査ログのダウンロード」を選択します。
  3. 「イベントタイプ」で「重複ルール」または「重複ルールの有効化/無効化」などを選択します。該当するイベントが表示されない場合は、表示期間を広げてみてください。
  4. ダウンロードしたCSVファイル、または画面上のリストで、対象の重複ルール名を探します。「操作」列に「変更」「作成」「有効化」「無効化」などの情報があります。
  5. 詳細を確認するには、該当行の「詳細」リンクをクリックしてください。変更前後の値が表示される場合があります。

もしルールが変更された日時と、問題が発生した日時が一致していれば、その変更が原因である可能性が高いです。

3. レコードのフィールド履歴追跡で個別データの変化を確認

重複レコードセットを構成する個別レコードのフィールド値が、いつどのように変化したかを確認するには、フィールド履歴追跡を使います。ただし、この機能は事前に対象オブジェクトで有効にする必要があります。

フィールド履歴の設定有無

設定→オブジェクトマネージャ→対象オブジェクト→「フィールド履歴追跡」で、任意のフィールドにチェックを入れると履歴が記録されます。重複ルールで使用しているフィールド(例:メール、電話番号、名前など)が有効になっているか確認してください。未設定の場合は履歴が残っておらず、過去の値を追跡できません。

履歴データの見方

レコード詳細画面の「関連」タブまたは「履歴」関連リストで、フィールド変更履歴を確認できます。変更前の値と変更後の値、変更日時、変更者が表示されます。例えば、重複ルールの照合フィールドが「メール」だった場合、メールアドレスが変更されたことで重複判定が変わった可能性があります。履歴を確認することで、どの時点で値が変わったのかを特定できます。

4. 状況別比較表

以下の表に、想定と違う重複レコードセットのパターンと確認すべきログ・履歴をまとめました。

症状 主な原因 確認すべきログ・履歴
重複が検出されない(本来あるべきセットがない) ルールの条件が厳しすぎる、照合ルールのフィールドが不一致、ルールが無効化された 監査ログでルールの有効/無効変更、照合ルールの変更履歴。該当レコードのフィールド履歴。
想定外のレコードが重複としてマッチする 照合ルールの定義が緩すぎる、条件の抜け漏れ、データに予期せぬ値(NULLなど)が含まれている 監査ログで照合ルールの変更履歴。各レコードのフィールド値を横断的に確認。
重複セットの組み合わせが変わる(同じデータなのに毎回異なる) ルールが頻繁に変更されている、データが更新されるタイミングで再評価が走る 監査ログでルール変更の都度を確認。フィールド履歴で更新日時の確認。

5. 失敗パターンと注意点

監査ログの見落とし

監査ログはデフォルトで180日間保存されますが、エディションによっては保存期間が異なる場合があります。古い変更を追跡したい場合、ログが削除されている可能性があります。その場合は、バックアップや別のログ管理ツール(Sumo Logicなど)を利用しているかを管理者に確認してください。

フィールド履歴が未設定

フィールド履歴追跡は、あらかじめ設定されていないと履歴が残りません。重複ルールで使用しているフィールドが未設定の場合、過去の値変更を確認できません。この場合は、監査ログのみで推定するか、定期的なデータエクスポートデータと突き合わせるなどの方法を取る必要があります。

管理者へ確認する情報

もし手順を進めても原因が特定できない場合、以下の情報を管理者に伝えてください。

  • 問題が発生した重複ルール名と、想定と違うレコードセットの具体例(レコードIDや値を添える)。
  • 監査ログのダウンロード結果の中で、該当ルールに関連するイベントのスクリーンショット。
  • 該当レコードのフィールド履歴(取得できる場合)のコピー。
  • 管理者権限がないと確認できない設定(例:照合ルールの詳細な定義や、他のルールとの優先順位)も尋ねてください。

6. よくある質問

Q1: 監査ログで「重複ルール」イベントが表示されません。なぜですか?

A: 監査ログのイベントタイプは「重複ルールの有効化/無効化」「重複ルールの作成」「重複ルールの変更」など複数あります。すべてチェックしてください。また、保持期間を過ぎているか、イベントが発生していない可能性もあります。管理者に監査ログの設定を確認してもらいましょう。

Q2: フィールド履歴追跡はいつから記録されますか?

A: フィールド履歴追跡を有効にした以降の変更から記録されます。過去の変更は追跡できません。もし問題の原因が有効化前の変更にある場合、他の方法(バックアップレコードなど)で確認する必要があります。

Q3: 重複ルールを変更した際、既存の重複レコードセットは自動的に再評価されますか?

A: いいえ、重複ルールを変更しても既存のレコードは自動的には再評価されません。再評価が必要な場合は、管理者が「重複ルールの再評価」を実行するか、データローダなどで該当レコードを一度更新する必要があります。監査ログでルール変更後、再評価が行われたかどうかを確認すると良いでしょう。

7. まとめ

重複レコードセットが想定と違う場合、まずはルール定義とデータの状態を確認した上で、監査ログとフィールド履歴追跡を使って時系列での変更を追跡することが解決の近道です。監査ログは設定変更の証跡として、フィールド履歴は個別データの変化として、それぞれ異なる視点を提供します。両者を組み合わせて原因を特定することで、的確な対策を打つことができます。日頃からフィールド履歴追跡の設定を有効にしておくことも、トラブルシューティングの迅速化につながります。


この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。