Pivot

The Pivot processor transforms multiple rows into columns.

Example

Let’s imagine we are processing financial data, which is in ‘multiple lines’ format

Input

Company Type Value
Comp.A Revenue 42M
Comp.A Raw Margin 9M
Comp.B Revenue 137M
Comp.B Raw Margin 3M
Comp.B Net income -11M

Process

If we pivot with:

  • Index column: Company
  • Labels column: Type
  • Values column: Value

We obtain:

Company Revenue Raw Margin Net income
Comp.A 42M 9M  
Comp.B 137M 3M -11M

Details

Pivot generates a new row for each change of value of the index column. The generated rows will contain one column for each value of the labels column. The output values will be the values of the values column.

Important note: this processor assumes that the values of the index column are sorted. IE:

  • OK
idx1 label1 v1
idx1 label2 v2
idx2 label1 v3
  • NOK
idx1 label1 v1
idx2 label1 v3
idx1 label2 v2

In the latter case, 3 rows will be generated.

Also, if several rows have the same (index,label), then only the value corresponding to the last one is kept.