2017-08-31 5 views
1

Talendでピボットする必要があるデータがあります。これはサンプルです:Talendのピボットデータ

brandname,metric,value 
A,xyz,2 
B,xyz,2 
A,abc,3 
C,def,1 
C,ghi,6 
A,ghi,1 

は、今私は、このデータは、このようなメトリック列に枢着する必要があります

brandname,abc,def,ghi,xyz 
A,3,null,1,2 
B,null,null,null,2 
C,null,1,6,null 

現在、私は、ファイルにデータをピボットするtPivotToColumnsDelimitedを使用していますが、後ろから読んでそのファイル。しかし、外部ファイルにデータを格納して読み返すのは面倒で不必要なオーバーヘッドです。

外部ファイルに書き込まずにTalendでこれを行う方法はありますか?私はtDenormalizeを使用しようとしましたが、私が理解する限り、必要なものではない1列として行を返します。私はTalendExchangeのサードパーティコンポーネントも探しましたが、何か役に立つものが見つかりませんでした。

ありがとうございました。

+0

正確には、ピボットの定義ですか?行を列にすると、それらの行に関連付けられた値がそれに応じて割り当てられます。 – Alex

答えて

0

メトリックが固定されていると仮定すると、その名前を出力の列として使用できます。ピボットを行うソリューションは、2つの部分から構成されています。最初に、入力行inの値を出力行outの対応する列に転置するtMap、次に、ブランド名に従ってマップの出力行をグループ化するtAggregate 。あなたは条件付きでこのような列を埋める必要があるだろうTMAPについては

、「ABC」という名前の出力columのための例:tAggregateout.abc = "abc".equals(in.metric)?in.value:null

あなたはout.brandnameによってグループに持っているとして、各列を集計したいですヌルを無視した合計。

関連する問題