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

フィルターとさまざまなリジェクトを使った詳細なマッピング

このシナリオは、前述のシナリオを変更したバージョンです。フィルターを適用し、検索を2〜6人の子供がいるBMWとメルセデスの所有者に限定し、一致しないデータを異なるリジェクト出力フローに分割するジョブについて説明します。

コンポーネントをリンク

Procedure

  1. フィルター、明示的な結合、リジェクトを使った詳細なマッピングと同じジョブを実行します。
  2. 新しいtFileOutputDelimitedコンポーネントを[Palette] (パレット)からデザインワークスペースにドロップし、その機能を表すRejects_BMW_Mercedesという名前を付けます。
  3. [Row] (行)接続を使ってtMapコンポーネントを新しい出力コンポーネントに接続し、出力コンポーネントの機能に従って接続にラベルを付けます。
    この接続ラベルは、[Map Editor] (マップエディター)で新しい出力テーブルの名前として表示されます。
  4. 既存の出力接続と出力コンポーネントに、機能を表すようにラベルを付け直します。
    [Map Editor] (マップエディター)の既存の出力テーブルは、接続ラベルに従って自動的に名前が変更されます。この例では、既存の出力接続のラベルが付け直され、それぞれ、BMW_Mercedes_withChildrenOwners_Other_Makesとなります。

コンポーネントを設定

Procedure

  1. tMapコンポーネントをダブルクリックして[Map Editor] (マップエディター)を起動し、マッピングとフィルターを変更します。
    出力エリアには、Rejects_BMW_Mercedesという名前の新しい空の出力テーブルが含まれています。テーブルを選択し、出力エリアの上部にある上下の矢印をクリックすれば、位置を調整できます。
  2. 入力エリアのCarsテーブルから[Expr. key] (式キー)フィルター("BMW")を削除します。
  3. [Filters] (フィルター)ボタンをクリックして[Filter] (フィルター)フィールドを表示し、新しいフィルターに入力して、検索する車名をBMWまたはMercedesに限定します。ステートメントは次のようになります: Cars.Make.equals("BMW") || Cars.Make.equals("Mercedes")
  4. メインの出力テーブルの全カラムを選択し、新しい出力テーブルにドロップダウンします。
    または、対応するカラムを関連する入力テーブルから新しい出力テーブルにドラッグすることもできます。
  5. 新しい出力テーブルの上部にある[tMap settings] (tMap設定)ボタンをクリックし、[Catch output reject] (出力リジェクトをキャッチ)trueに設定して、子供が2人未満または6人を超えるBMWおよびメルセデスの所有者に関するデータを収集します。
  6. Owners_Other_Makesテーブルで、[Catch lookup inner join reject] (ルックアップ内部結合リジェクトの収集)trueに設定して、他の車名の所有者およびリセラー情報が見つからない所有者に関するデータを収集します。
  7. [OK]をクリックしてマッピングを確定し、[Map Editor] (マップエディター)を閉じます。
  8. それぞれの[Basic settings] (基本設定)ビューで出力コンポーネントのプロパティを定義します。
    このユースケースでは、出力ファイルのパスを指定し、[Include Header] (ヘッダーを含める)チェックボックスをオンにし、他のパラメーターはそのままにします。

ジョブを実行

Procedure

  1. Ctrl + Sキーを押してジョブを保存します。
  2. [F6]を押して実行します。
    出力ファイルには、メインの出力フローのコンテンツが含まれており、フィルターされた行が正しく渡されたことを示しています。

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

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