メイン コンテンツをスキップする 補完的コンテンツへスキップ

ルックアップとフィルターによってリジェクトされたデータをキャッチ

tXMLMapで設定されたルックアップおよびフィルター条件によってリジェクトされたデータは、このコンポーネント自体によってキャッチおよび出力できます。

このシナリオでは、フィルターを使ってデータをマッピングに基づいて、前のシナリオで設定されたルックアップとフィルターによってリジェクトされたデータをキャッチする方法を示します。別のtLogRowコンポーネントが、前のシナリオで使われたジョブに追加され、リジェクトされたデータを表示します。

別の出力コンポーネントを追加してリンク

Procedure

  1. Talend Studioで、前のシナリオで使用されているジョブを開いてデザインワークスペースに表示します。
  2. 名前をデザインワークスペースに入力するか、または[Palette] (パレット)からドロップすることにより、別のtLogRowコンポーネントをジョブに追加します。
  3. [Row] (行) > [*New Output* (Main)] (*新規出力* (メイン))接続を使って、tXMLMapコンポーネントを2番目のtLogRowにリンクさせます。ポップアップダイアログボックスに出力接続の名前(このサンプルではReject)を入力します。

リジェクトされたデータを収集

Procedure

  1. tXMLMapコンポーネントをダブルクリックして、[Map Editor] (マップエディター)を開きます。
    リジェクトされたデータを保持する空のReject出力テーブルが出力側に追加されます。これは、リジェクトされたデータを保持する出力データフローを表します。
  2. row1のメイン入力テーブルで、idノードをクリックし、それをReject出力テーブルにドロップします。カラムidが、マップエディターの下部にある[Schema editor] (スキーマエディター)Rejectスキーマテーブルに追加されます。
  3. 同じ手順で、row1メイン入力テーブルからCustomerNameCustomerAddressidStateを、そしてrow2ルックアップ入力テーブルからLabelStateReject出力テーブルにドロップします。[Schema editor] (スキーマエディター)Rejectスキーマテーブルに、別の4つのカラムが追加されます。
    情報メモTip:

    このシナリオでは、Reject出力フローはフラットデータ型を使います。ただし、[Document] (ドキュメント)データ型を使い、Customer出力フローと同様に、このフローのXMLツリービューを作成できます。[Document] (ドキュメント) タイプの使用方法の詳細は、XMLデータをマッピングして変換をご覧ください。

  4. Reject出力テーブルの上部にあるボタンをクリックして、プロパティ設定エリアを開きます。
  5. [Catch Output Reject] (出力リジェクトをキャッチ)プロパティの値をtrueに設定して、Customer出力フローの前のシナリオで設定したフィルターによってリジェクトされたデータをキャッチします。
  6. [Catch Lookup Inner Join Reject] (ルックアップ内部結合リジェクトのキャッチ) プロパティの値をtrueに設定して、内部結合操作によってリジェクトされたデータをキャッチします。
  7. [OK]をクリックして変更を検証し、マップエディターを閉じます。

出力フローを設定

Procedure

  1. 2番目のtLogRowコンポーネントをダブルクリックして、[Basic settings] (基本設定)ビューを開きます。
  2. [Sync columns] (カラムを同期)をクリックして、先行のコンポーネントからスキーマを取得します。
  3. [Mode] (モード)エリアで、[Table (print values in cells of a table)] (テーブル(テーブルのセルの出力値))を選択して、結果を読みやすくします。

ジョブを実行

Procedure

  1. Ctrl+Sを押し、ジョブを保存します。
  2. [F6]を押してジョブを実行します。
    フィルターによってリジェクトされてキャプチャーされたデータとルックアップは、[Run] (実行)ビューで次のようになります。
    上記のように、前のシナリオで設定したフィルターにより、idState値が2のデータが選択されて上部に表示され、idState値が2でないデータがリジェクトされて下部に表示されます。

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。