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

複数の出力カラムに式を同時に設定

このタスクについて

tMapでは、複数の出力カラムの変換動作を同時に定義できます。

以下の例では、単純な変換ジョブを使用して、tMapで複数カラムの式をバッチ方式で定義する方法を示しています。

tFileInputDelimitedコンポーネント、tMapコンポーネント、tLogRowコンポーネントを使ったジョブの例。

以下は、この例で使用している入力CSVファイルの内容です。

id;firstname;lastname;city;state
1; Andrew;Adams;Madison; Rhode Island
2;Andrew; Garfield; Saint Paul;Colorado
3; Woodrow;   Eisenhower    ; Juneau; New Hampshire
4;Woodrow; Jackson;Denver;Maine
5; Lyndon;Buchanan; Pierre; Kentucky
6;  Bill;Tyler; Helena; New York
7;George;Adams;Oklahoma City    ;Alaska
8;Ulysses; Garfield;Santa Fe;Massachusetts
9; Thomas;Coolidge  ;Charleston;   Mississippi
10;John;Polk;   Carson City;  Louisiana

この例では、[String] (文字列)タイプの出力カラムはすべて切り詰めて整えられ、最初と最後のホワイトスペースが削除され、姓と州名が大文字に変換されます。

手順

  1. [Map Editor] (マップエディター)で入力と出力のマッピングを行います。
    [マップ]エディター。
  2. 出力テーブルで文字列タイプのカラムを選択します。すなわち、この例ではfirstnamelastnamecitystateです。選択したカラムを右クリックすると、[Apply Routine] (ルーチンを適用)ボタンが表示されます。
    マップエディターからの[Apply Routine] (ルーチンを適用)ボタン。
  3. [Apply Routine] (ルーチンを適用)ボタンをクリックして、[Expression Builder] (式ビルダー)ダイアログボックスを開きます。
    [Expression Builder ] (式ビルダー)ダイアログボックスの概要。
  4. [Categories] (カテゴリー)エリアでStringHandlingを選択し、[Functions] (ファンクション)エリアでTRIMファンクションをダブルクリックして、[Expression] (式)フィールドにStringHandling.TRIM(${0})を取得します。
    [Expression Builder] (式ビルダー)ダイアログボックスの[Expression] (式)フィールド。
  5. OKをクリックして[Expression Builder] (式ビルダー)ダイアログボックスを閉じます。
  6. [Map Editor] (マップエディター)の出力テーブルでlastnameカラムとstateカラムを選択し、選択したカラムを右クリックし、[Apply Routine] (ルーチンを適用)ボタンをクリックして[Expression Builder] (式ビルダー)ダイアログボックスを開きます。
  7. [Categories] (カテゴリー)エリアでStringHandlingを選択し、[Functions] (ファンクション)エリアでUPPERCASEファンクションをダブルクリックして、[Expression] (式)フィールドにStringHandling(${0})を取得します。
    [Expression Builder] (式ビルダー)ダイアログボックスの[Expression] (式)フィールド。
  8. OKをクリックして[Expression Builder] (式ビルダー)ダイアログボックスを閉じます。

タスクの結果

ここで、これらの出力カラムの式は次のようになります。

マップエディターからの[Output] (出力)セクション。
ファンクションはフロー処理で実行されます。この例の出力は次のように示されます。
いくつかの結果の例。

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

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