本記事では、検証オブジェクトのマッチングルールに関する背景情報、制限事項、および設定方法について説明します。
背景
データ検証タスクを新規作成する際、オブジェクト指定、CSVファイルインポート、およびマッチングルールの3つの方法で具体的な検証オブジェクトを指定できます。その中で、マッチングルール方式はワイルドカードルールを記述することで検証対象を指定できるほか、ソース側およびターゲット側のオブジェクトマッピングロジックを設定できます。シンプルかつ効率的な文字列マッチング機能により、検証対象データが多数ある場合でも設定の難易度を大幅に低減できます。
データ検証でサポートされているワイルドカードルールとその要件は以下のとおりです。
カテゴリ |
サポートされるワイルドカードルール |
例 |
説明 |
|---|---|---|---|
| ソース/ターゲットのデータベース・テーブル一致 | *.* | kd_test*.person* | ソース/ターゲットの両方でkd_testで始まり、personで始まるすべてのテーブルを一対一で検証します。 |
| ソース/ターゲットのデータベース・テーブル一致 | *.<ソース側のテーブル名> | kd_test*.person | ソース/ターゲットの両方でkd_testで始まり、personという名前のテーブルを一対一で検証します。 |
| ソース/ターゲットのデータベース・テーブル一致 | <ソース側のデータベース名>.* | kd_test.person* | ソース/ターゲットの両方でkd_testという名前のデータベース内で、personで始まるすべてのテーブルを一対一で検証します。 |
| ソース/ターゲットのデータベース・テーブル一致 | <ソース側のデータベース名>.<ソース側のテーブル名> | kd_test.person | ソース/ターゲットの両方でkd_testという名前のデータベース内で、personという名前のテーブルを一対一で検証します。 |
| ソース/ターゲットのデータベース・テーブル名の変更 | <ソース側のデータベース名>.<ソース側のテーブル名>=<ターゲット側のデータベース名>.<ターゲット側のテーブル名> | kd_test.person=kd_test_new.person_new | ソース側でkd_testという名前のデータベース内のpersonという名前のテーブルと、ターゲット側でkd_test_newという名前のデータベース内のperson_newという名前のテーブルを一対一で検証します。 |
| ソース/ターゲットのデータベース・テーブル名の変更 | <ソース側のデータベース名>.*=<ターゲット側のデータベース名>.* | kd_test.person*=kd_test_new.person* | ソース側でkd_testという名前のデータベース内でpersonで始まるすべてのテーブルと、ターゲット側でkd_test_newという名前のデータベース内でpersonで始まるすべてのテーブルを一対一で検証します。 |
| ソース/ターゲットのデータベース・テーブル名の変更 | *.<ソース側のテーブル名>=*.<ターゲット側のテーブル名> | kd_test*.person=kd_test_new*.person_new | ソース側でkd_testで始まるすべてのデータベース内のpersonという名前のテーブルと、ターゲット側でkd_test_newで始まるすべてのデータベース内のperson_newという名前のテーブルを一対一で検証します。 |
| データベース・テーブルの集約 | <ソース側のデータベース名>.*=<ターゲット側のデータベース名>.<ターゲット側のテーブル名> | kd_test.person*=kd_test.person_all | ソース側でkd_testという名前のデータベース内でpersonで始まるすべてのテーブルと、ターゲット側でkd_testという名前のデータベース内でperson_allという名前のテーブルをデータ検証します。 |
| データベース・テーブルの集約 | *.<ソース側のテーブル名>=<ターゲット側のデータベース名>.<ターゲット側のテーブル名> | kd_test*.person=kd_test_all.person | ソース側でkd_testで始まるすべてのデータベース内のpersonという名前のテーブルと、ターゲット側でkd_test_allという名前のデータベース内のpersonという名前のテーブルをデータ検証します。 |
| データベース・テーブルの集約 | *.*=<ターゲット側のデータベース名>.<ターゲット側のテーブル名> | kd_test*.person*=kd_test_all.person_all | ソース側でkd_testで始まるすべてのデータベース内でpersonで始まるすべてのテーブルと、ターゲット側でkd_test_allという名前のデータベース内のperson_allという名前のテーブルをデータ検証します。 |
| データベース・テーブルの集約 | *.*=<ターゲット側のデータベース名>.* | kd_test*.person*=kd_test_all.person* | ソース側でkd_testで始まるすべてのデータベース内でpersonで始まるすべてのテーブルと、ターゲット側でkd_test_allという名前のデータベース内でpersonで始まるすべてのテーブルをデータ検証します。 |
| データベース・テーブルの集約 | *.*=*.<ターゲット側のテーブル名> | kd_test*.person*=kd_test*.person_all | ソース側でkd_testで始まるすべてのデータベース内でpersonで始まるすべてのテーブルと、ターゲット側でkd_testで始まるすべてのデータベース内のperson_allという名前のテーブルをデータ検証します。 |
ワイルドカードルールの要件は以下のとおりです:
ターゲット側のデータベース名とテーブル名は同時にワイルドカードルールとして指定することはできません。例:
kd_test*.person*=kd_test*.person*。ソース側のデータベースとターゲット側のデータベースがどちらもワイルドカードルールの場合、データベースレベルの式は完全に一致している必要があります。
ソース側のテーブルとターゲット側のテーブルがどちらもワイルドカードルールの場合、テーブルレベルの式は完全に一致している必要があります。
ターゲット側のデータベースがワイルドカードルールの場合、ソース側のデータベースもワイルドカードルールである必要があります。
ターゲット側のテーブルがワイルドカードルールの場合、ソース側のテーブルもワイルドカードルールである必要があります。
制限事項
データ検証では複数のルールを入力できますが、各ルールは行をまたぐことはできず、前後にスペースを含めることもできません。
検証オブジェクトルールは空にすることはできませんが、除外オブジェクトルールは空にできます。
マッチングルールにより検証オブジェクトを選択する場合、テーブル名に特殊文字(改行、スペース、および .|"'`()=;/&*?[][!] を含む場合はサポートされません。
データ検証では、複数のマッチングルールを使用して、ソース側の同一データベース内の異なるテーブルをターゲット側の異なるデータベースにマッピングすることはできません。例:
a.a* = b.a* & a.b* = c.b*。
注意点
オブジェクトの検証ルールと除外ルールの設定が完了した後、ソーステーブル名が検証ルールと除外ルールの差集合に含まれている場合、該当するオブジェクトを選択できます。
説明
差集合とは、与えられた2つの集合について、最初の集合に存在し、2番目の集合には存在しないすべての要素を含む新しい集合を返すことです。
テーブルにリネームマッピングが存在する場合、それが優先されます。例えば、ルール
a.b[0-3]とa.b[3-5]=a.cの両方が存在する場合、テーブルa.b3はa.cにリネームされます。
マッチングルールの設定
データ検証タスクを新規作成し、タイプとオブジェクトを選択してください ステップに進みます。
詳細については、データ検証タスクの新規作成をご参照ください。
タイプとオブジェクトを選択してください ステップで、検証タイプと検証オブジェクトを選択します。
オブジェクトの指定 と ルールによる一致 の2つのエントリから検証オブジェクトを選択できます。本記事では、マッチングルールの設定方法のみを紹介します。
検証オブジェクト 領域で、ルールによる一致 を選択します。

オブジェクトを選択してください 領域で、検証オブジェクトルール と オブジェクト除外規則 (オプション)を入力します。サポートされているワイルドカードの詳細については、ワイルドカードルールの説明をご参照ください。
確認 をクリックします。
マッチング結果を確認する必要がある場合は、検証が成功した後に プレビュー をクリックして確認してください。入力したワイルドカード検証オブジェクトルールと除外オブジェクトルールは、テーブルにのみ適用されます。マッチング結果 には、最終オブジェクト、新規オブジェクト、削除オブジェクトが含まれます。
オブジェクト説明最終オブジェクト 設定されたマッチングルールで最終的にマッチした検証オブジェクト。 新規オブジェクト 最終マッチング結果と前回設定のマッチング結果を比較して、新規に追加された検証オブジェクト。 削除オブジェクト 最終マッチング結果と前回設定のマッチング結果を比較して、削除された検証オブジェクト。
プロンプトに従って、後続のタスク設定を完了します。