Platform トランスフォームによるデータの分割と結合

Validation トランスフォームを使用したデータの分割

Objective

After completing this lesson, you will be able to validation トランスフォームを使用したデータの分割

Validation トランスフォーム

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 列は、エラーデータの送信先を示します。
    • 文字 BBoth("合格" および "不合格") の出力に使用されます。
    • 文字 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 列の追加
  • 管理コンソールで表示する統計を収集します。

    (パフォーマンス向上のため、実行時に無効化します。)

試してみる

Validation トランスフォームの使用について説明します。

自分でテストする場合は、以下に進みます。