<< トップページへ

<< 目次へ

更新日:2015.11.28

グループ集計を行う



■インプットの指定

特定の条件にマッチするレコードを抽出するを参照。


■処理の指定

グループ集計を行うために 「tAggregateLow」 を使います。ただし、事前にアウトプットの指定まで行っておく必要があります。詳細は後に記述している「アウトプットの指定」を参照してください。インプット、処理、アウトプットのアイコンを矢印でつなげられた状態(下図)を前提として、グループ集計を行うための設定を以下に示します。



さて、tAggregateRowのアイコン部分を選択した(クリックした)状態で、画面下側のコンポーネントをいじります。ここで指定するのは「グループ化」というところと、「操作」というところの2か所だけです。グループ化では「グループ集計する対象」を指定することになりますが、複数指定することができます。例えばCIDのみで集計した場合は「顧客ごと」にまとめられて集計されますが、「CIDと日付」を指定して集計すれば「同一顧客であっても、違う日に購買した際の購買金額を区別して」集計されます。

一方で「操作」の部分においては、どの変数について集計を行うかを指定することになり、今回は「金額」がそれに該当します。金額の合計を求めたいので「ファンクション」には「SUM」を指定します。もし1人当たりの平均購買単価が知りたければ、ここを「AVG」にすればよいのです。また、「COUNT」にした場合は単純なレコード数(つまり延べ数)が集計されることになります。換言すれば顧客ごとに何レコードあるかの集計がされるわけです。

今回は出力するファイルとして「CID」と「合計金額」の2カラムを作成していましたが、ここに「平均単価」などを加えておき、「操作」のウィンドウ部分で 「入力カラム位置:金額」 「ファンクション:AVG」 「出力カラム:平均単価」 と追加すれば、合計金額と平均単価の2つが出力されることになります。

ちなみに上記スクリーンショットのkokyaku_kingakuの代わりに、 「tLogRow」 というやつを置いてあげると、talendの画面上で集計結果を確認することができますので、試してみてください。画面右側の「コンポーネントの検索」窓に入力して検索すれば見つかるはずです。



■アウトプットの指定

talendでは出力先ファイルの形式を事前に指定しておく必要があります。今回、実施したい集計は「顧客ごとの合計金額」なので、アウトプット形式としては「CID」と「合計金額」の2列データです。また、データ型はそれぞれ「CID:String」、「合計金額:Double」です(文字はすべてString、数値はすべてDoubleという私流ルールです)。したがって、事前に「ヘッダ名だけの、からのCSVファイル」を準備しておき(下図)、それをtalendに読み込んでおきましょう(データのインポートを参照)。