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

カラムを行に変換

このジョブでは、tUnpivotRowコンポーネントとtMapコンポーネントを使って、カラムを行に変換します。

例としてのジョブ。

手順

  1. UnPivotColumnsToRowsという名前のジョブを作成します。これは次のコンポーネントが構成され、3つのmain行でリンクされています:
    • in.txtファイルからデータを読み取るtFileInputDelimitedコンポーネント
    • personテーブルのカラムを行に変換するtUnpivotRowコンポーネント
    • 出力テーブルを生成するtMapコンポーネント
    • コンソールに出力データを出力するtLogRowコンポーネント
  2. tFileInputDelimitedをダブルクリックして、[Component] (コンポーネント)ビューを開きます。
    1. [File name/Stream] (ファイル名/ストリーム)フィールドに、作成した.txtファイルのパス(たとえば、"D:/file/in.txt")を入力します。
    2. [Header] (ヘッダー)フィールドを1に変更します。
  3. 省略記号ボタン(...)をクリックしてコンポーネントのスキーマを編集します。
    1. pivot_keypivot_valueというカラムを削除します。
    2. Integer型であるIdという名前のカラムとString型であるNameSexSurgreyという3つのカラムを追加します。
  4. tUnpivotRowをダブルクリックして、[Row keys] (行キー)ボックスにIdという名前の入力カラムを追加します。
  5. 以下のようにtUnpivotRowスキーマを編集して、Integer型のIdと名付けられた出力カラムを追加します。
    tUnpivotRowスキーマ。
    情報メモ注: Pivot_keyPivot_valueという出力カラムの両方は、事前定義されたカラムで、tUnpivotRowコンポーネントで読み取り専用です。
  6. tMapコンポーネントをダブルクリックし、そのスキーマを開いて、idpivot_keypivot_valueというカラムをRow2テーブルからout1テーブルにドラッグします。
  7. out1テーブルのpivot_keypivot_valueの名前をそれぞれQuestionAnswerに変更します。
    スキーマエディター。
    情報メモ注: 両方のカラム(Pivot_keyPivot_value)がtUnpivotRowコンポーネントで読み取り専用であるため、tMapでのカラム名を変更して、ターゲットスキーマにマッピングする必要があります。

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

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