S.B.S. Salesforce技術ブログ

教えて921さん!

重複ルールを設定しよう!

こんにちは、Nambuです。 今回は重複ルールについて説明したいと思います。うまく使いこなせれば非常に便利ですが、少し厄介な面もあるのでよく理解してから使いましょう。

重複ルールとは

Salesforceでは何も設定しなければいくらでも同じ内容のレコードを作成することが可能です。しかし、登録されている取引先や取引先責任者に同じレコードが存在しているとデータの信頼性が下がりSalesforceを利用する効果も下がってしまいます。そこで使用するのが重複ルールです。重複ルールはレコードの重複をチェックする機能で設定することでレコード作成を防いだりアラートを表示したりできます。

重複ルールの設定方法

それでは重複ルール並びに一致ルールの設定方法を説明しようと思います。
「設定」「ホーム」から「重複ルール」を選択します。するとすべての重複ルールが表示されるので新規ルールをクリックします。 重複ルールの編集画面ではまずルール名と必要であれば説明を入力します。
レコードレベルセキュリティで共有ルールを適用を選択すると一致ルール・重複ルールともにユーザにアクセス権のあるレコードのみが対象となります。
共有ルールをスキップを選択すると一致ルールは全てのレコードが対象になり、作成された重複の可能性があるレコードのリストには、ユーザにアクセス権があるレコードのみが含まれます。 次にアクションを設定します。ここで許可を選ぶと既存のデータと重複するデータを新規作成や編集で作成できますが、ブロックを選ぶとできません。
アクションが設定出来たら次に一致ルールを設定します。一致ルールはレコードの重複を判定するルールですが、あらかじめ一致ルールで作成しとかなければいけません。 それではここで一旦一致ルールの設定方法を説明します。
一致ルールを作成するときは「設定」「ホーム」から「一致ルール」を選択します。するとすべての一致ルールが表示されるので新規ルールをクリックします。 ステップ1としてどのオブジェクトに適用するのかを選びます。 ステップ2ではルール名とAPI名必要であれば説明を入力します。 ステップ3ではいよいよ条件を入力します。ここで注意が必要なのは使用できる項目の型がメール、参照関係、主従関係、番号、電話番号、標準選択リスト、カスタム選択リスト (単一選択のみ)、テキスト、URLに制限されていることです。一致メソッドであいまいを選択すると完全に一致せずともパターンが一致すると真になります。また、空白項目をマッチングにチェックを入れると空白同士でも真になります。 保存した一致ルールは有効化することで使用することができます。 それでは重複ルールに戻ります。最後にルールを実行するレコードを絞りたいのであれば条件を設定します。ここの条件では一致ルールとは異なりレコードタイプや数式を指定できます。 作成した重複ルールは一致ルールと同じく有効化することで使用可能です。

重複ルールと自動更新

ここまで重複ルールと一致ルールの作成方法を説明してきましたが、ここでは注意点について説明したいと思います。重複ルールはワークフローなどの自動更新機能やデータローダなどのデータ操作機能と相性が悪いです。ワークフローの項目自動更新を用いた場合はアクションをブロックにしても重複チェックが動作せず重複レコードが作成されます。また、データローダ、データインポートウィザード、プロセスビルダー、フローの場合はアクションを許可にしていてもブロックされてしまいます。これらはSalesforceの実行順序が問題になっているので更新機能に関してはApexトリガで作成すればある程度解決します。それでもデータローダ等で新規作成や編集するときの問題は残るので重複ルールの使用は注意が必要です。


今回はこのくらいで、また会いましょう!