否定のマッチ条件

マッチ条件とは、2 つのレコードがマッチするとみなすためにどのフィールドをマッチングするかを表す文です。しかし、2 つのフィールドが一致 しない 場合に 2 つのレコードがマッチするとみなす条件を定義したい場合もあります。否定として知られるこの手法は、マッチ ルール内の条件のロジックを反転させるものです。

例えば、コール センターの顧客サポート レコードがあり、複数のアカウントに関連してコール センターに問い合わせをした顧客を特定したいとします。つまり、複数のアカウントに関連付けられている個人を特定します。複数のアカウントを所有する顧客を特定するには、名前は一致するがアカウント番号は一致 しない レコードをマッチさせることが必要です。この場合は、アカウント番号のマッチ条件に対して否定を用いることになります。

否定を用いるには、マッチ ルールの定義時に [真でない場合に一致] チェック ボックスをオンにします。このオプションは、マッチ ルール内の親 (条件のグループ) と子 (個々の条件) の両方に適用できます。親に適用する場合と子に適用する場合で、このオプションの効果は少し異なります。[真でない場合に一致] オプションを親に適用すると、マッチング方法のオプションが次のように実質的に反転します。
  • マッチング方法が [すべて真] である場合は、"いずれかが偽" という条件になります。このマッチ ルールは、親の下に偽と評価される子が少なくとも 1 つ存在する場合のみ親を偽と評価し、レコードをマッチとみなします。[真でない場合に一致] オプションが有効であるため、偽と評価される場合にマッチすることになります。
  • マッチング方法が [いずれかが真] である場合は、"いずれも真でない" という条件になります。このマッチ ルールは、真と評価される子が 1 つもない場合のみ、レコードをマッチとみなします。いずれかの子が真である場合は親が真となりますが、 [真でない場合に一致] オプションが有効であるため、真と評価される場合はマッチとはみなされません。真と評価される子が 1 つもなく、親が "真でない" と評価される場合のみ、このルールにマッチします。
  • マッチング方法が [しきい値で判断] である場合は、指定されたしきい値以上のレコードをマッチとみなすという条件が、しきい値未満のレコードをマッチとみなすという条件に変わります。指定された値よりもしきい値が低いレコードは偽と評価されますが、 [真でない場合に一致] が有効であることから、これがマッチとみなされます。

[真でない場合に一致] オプションは、マッチ ルール内の子要素に適用する場合の方が容易に理解できます。この場合は単純に、アルゴリズムによってマッチと みなされない 場合に 2 つのレコードはマッチすると判断されます。