
Validation トランスフォームでは、検証ルールの作成と、検証の合格/不合格に基づいてターゲットオブジェクトへのデータの移動を行うことができます。
Case トランスフォームと比較すると、Validation トランスフォームにはさまざまな機能があります。
- これには、ルールチェックに合格した行と、ルールチェックに失敗した行の 2 つのメインターゲットテーブルのみがあります。
- 各レコードで失敗したすべてのルールを一覧表示するルール違反テーブルが生成されます。
- 不適切な値または欠落している値を、受け渡しのレコードターゲットテーブル内の目的のデータで直接置き換えることができます。
- データスチュワードの検証レポートを生成することができます。
たとえば、日付書式に関してチェックする必要がある受信データを持つことができます。この問題についてソースシステムに通知し、ソースで直接解決するために、書式が悪い行、または日付がまったくない行を確認する必要があります。また、不足している割引をデフォルト値の 0 に置き換える必要があります。

Validation トランスフォームのユースケース
データフローで Validation トランスフォームを使用して、データが必要な基準を満たしていることを確認します。
- Validation トランスフォームを使用して、以下のすべての値を確認します。
- 特定の範囲内
- 書式が同じである
- NULL 値を含まない
- Validation トランスフォームを使用してデータを異なるテーブルに分割しないでください。(代わりに Case トランスフォームを使用します)。
Validation トランスフォームの機能
Validation トランスフォームでは、再利用可能なビジネスルールを定義して、各レコードおよび列を検証することができます。
- Validation トランスフォームは、データセットを修飾します。
- ルールに基づきます。
- 列ごとに複数のルールを使用できます。
- 単純 (列) ルールまたは複合 (式) ルールを使用します。
- 次に、失敗時に選択したアクションを適用します。
- レコードをパススキーマに送信します。
- レコードを失敗スキーマに送信します。
- 両方のスキーマにレコードを送信します。
- オプションで、パススキーマの値を置き換えます。
Validation トランスフォームオプション:
Validation トランスフォームでは、オプションで以下が収集されます。
- 管理コンソールの検証レポートで使用する統計。
- これらのレポートに表示するサンプルデータ。
出力スキーマ
出力スキーマの受け渡し
成功出力スキーマは、入力スキーマと同じです。
失敗したデータを成功出力に送信することを選択した場合、Data Services では結果が追跡されません。Data Services では成功出力に列が追加されないため、成功出力に送信されるエラーデータの値を置き換えることをお奨めします。
失敗出力スキーマ
Data Services では、失敗出力スキーマに以下の 2 つの列が追加されます。
- DI_ERRORACTION 列は、エラーデータの送信先を示します。
- 文字 B は Both("合格" および "不合格") の出力に使用されます。
- 文字 F は、失敗出力にのみ送信されるデータに使用されます。
- DI_ERRORCOLUMNS 列には、失敗したルールを含む列のすべてのエラーメッセージが表示されます。各メッセージに関連付けられている入力列の名前は、コロンで区切られます。たとえば、 はルール C1:C2 に違反しました。
ルール違反統計
以下の図に示すように、ルール違反テーブルには、チェックに失敗したすべてのルールおよび列がレコードごとに一覧表示されます。
失敗テーブルにも追加される Row_ID フィールドを使用すると、元のデータへのリンクを戻すことができます。この例では、行 1 と 2 は、それぞれ 1 つのチェックルール (validZIP および validPhone) で失敗しました。行 3 は両方のルールに違反しています。
ルール違反テーブルを使用すると、クエリおよびレポートを作成して、特定のルールで失敗したすべての行と列を表示し、ルールごとにエラーの数をカウントすることができます。

チェックルールのコンフリクト
レコードに対して違反したルールの数に関係なく、[成功に送信]、[失敗に送信]、または [両方に送信] の 1 つのアクションのみが実行されます。
アクションが異なる複数のルールが失敗した場合、どうなりますか。失敗に送ることが常に勝利パートナーになります。その後、両方に送るがパスに送るが勝つ。パスに送信は、違反したすべてのルールにこの同じアクションがある場合にのみ実行されます。
チェック結果
- 2 つの列が検証されます。
- 1 つの列に対する失敗時のアクションは [成功に送信] です。
- 他者に対する失敗時のアクションは、失敗に送る
- どのような結果になりますか。
チェックルールおよびアクション
| ルールチェック結果 | アクション |
|---|---|
| レコードは両方のルールに合格しています。 | レコードが合格に送信済になります。 |
| レコードは失敗に送るルールに合格しましたが、合格に送るルールを満たしていません。 | レコードが合格に送信済になります。 |
| レコードが合格に送るルールに合格しましたが、失敗に送るルールを満たしていません。 | レコードが失敗に送信済になります。 |
| レコードは両方のルールに違反しています。 | レコードが失敗に送信済になります。 |
Validation トランスフォームエディタ
Validation トランスフォームエディタでは、必要な数の検証ルールを作成できます。
これらのルールは一時的に無効化し、再度有効化することができます。
パススキーマまたは両方のスキーマに送信するレコードの置換値を定義することができます。
チェックルール
チェックルールの登録
検証ルールは、条件と不合格時の処理で構成されます。
- 条件を使用して、有効なデータに何が必要かを記述します。
たとえば、指定されたターゲットに渡されるデータに NULL を含めない場合は、条件 IS NOT NULL を指定します。
- 故障に対するアクション領域を使用して、無効データまたはエラーデータに何が起きるかを示します。
上記の例から続けて、NULL 値に対して Send to Fail オプションを選択し、すべての NULL 値を指定された FAILED ターゲットテーブルに送信します。
検証ルールは、検証関数または単純な式のいずれかに基づくことができます。
検証関数を使用する場合は、そのパラメータを定数値または列にバインドする必要があります。
このルールでは、式で使用される列、または関数パラメータで使用される列がチェック済列とみなされます。ルールが失敗した場合、ルール違反テーブルはこの列の失敗値を記録します。
一部の列は関数で使用できますが、ルールに違反した値があるとは見なされません。たとえば、正しい zip 必須形式を決定するために国を関数に渡すことができます。そのため、ここでは国ではなく zip 列のみが不適切であるとみなされます。
検証トランスフォームリマインダ
- 失敗時のアクションは、行が検証ルールに違反した場合にのみ適用されます。
- [失敗に送信] は他のユーザーよりも優先されます。
- pass 出力には代入値を使用できます。
- 失敗出力による 2 列の追加
- 管理コンソールで表示する統計を収集します。
(パフォーマンス向上のため、実行時に無効化します。)