tAggregateRowコンポーネントを使用して、ダイナミックスキーマカラムに基づいてCSVファイルにいくつかのタスク割り当てデータを集計するようにジョブを設定するために使われます。
次に、このジョブは、tLogRowコンポーネントを使用して集計データをコンソールに表示し、tFileOutputDelimitedコンポーネントを使用して出力CSVファイルに書き込みます。
手順
- tFileInputDelimitedコンポーネントをダブルクリックして、[Basic settings] (基本設定)ビューを開きます。
-
[File name/Stream] (ファイル名/ストリーム)フィールドに、次のタスク割り当てデータを保持するCSVファイルへのパスを指定します。この例ではD:/tasks.csvです。
task;team;status task1;team1;done task2;team2;done task3;team1;done task4;team2;pending task5;team1;pending task6;team2;pending
-
ファイルの先頭でスキップする行数を[Header] (ヘッダー)フィールドに入力します。この例では1です。
ダイナミックスキーマ機能は[Built-In] (組み込み)モードでのみサポートされており、ヘッダー行を付けるには入力ファイルが必要になります。
-
[Edit schema] (スキーマを編集)の横にあるボタンをクリックしてスキーマダイアログボックスを開き、String型のtaskおよびDynamic型のotherの2つのカラムを追加してスキーマを定義します。完了したら、[OK]をクリックして変更を保存し、スキーマダイアログボックスを閉じます。
ダイナミックカラムはスキーマの最後の行で定義する必要があります。ダイナミックスキーマの詳細は、 Talend Studioユーザーガイドをご覧ください。
-
tAggregateRowコンポーネントをダブルクリックし、[Basic settings] (基本設定)ビューで[Sync columns] (カラムを同期)ボタンをクリックして、先行コンポーネントからスキーマを取得します。
-
[Group by] (グループ基準)テーブルの下にあるボタンをクリックして1つの行を追加し、[Output column] (出力カラム)カラムフィールドと[Input column position] (入力カラムの位置)カラムフィールドの両方からotherを選択して、入力データをotherダイナミックカラムでグルーピングします。
ダイナミックカラム集計は、グルーピング操作に対してのみ実行できます。
- [Operations] (操作)テーブルに1行を追加し、実行する操作を定義します。この例では、操作ファンクションはlistです。次に、[Output column] (出力カラム)カラムフィールドと[Input column position] (入力カラムの位置)カラムフィールドの両方からtaskを選択して、グルーピング結果のtaskカラムのエントリーをリスト表示します。
- tLogRowコンポーネントをダブルクリックして[Basic settings] (基本設定)ビューを開き、[Mode] (モード)エリアで[Table (print values in cells of a table)] (テーブル(テーブルのセルに値を表示))を選択します。これで結果の表示が改善します。
- tFileOutputDelimitedコンポーネントをダブルクリックして[Basic settings] (基本設定)ビューを開き、集計したデータを書き込むCSVファイルへのパスを[File Name] (ファイル名)フィールドに指定します。この例では D:/tasks_aggregated.csvです。
- 各カラムのヘッダーをCSVファイルに含めるには、[Include Header] (ヘッダーを含める)チェックボックスをオンにします。