This solution should works: tFileInputDelimited-->tSplitRow-->tAggregateRow-->tLogRow For tSplitRow define the schema with the following fields: - Stringid - Fiscalyear - Quarter - Salesvolume (Integer or any numeric datatype) Add 4 lines for the "Columns mapping" section and complete these lines like this: - Line 1 - row1.Stringid - row1.Fiscalyear - row1.Quarter1 - row1.Salesvolume1 - Line 2 - row1.Stringid - row1.Fiscalyear - row1.Quarter2 - row1.Salesvolume2 And so on for lines 3 and 4. At this stage the input flow contains 4 lines for each line of the original flow. For tAggregateRow the schema must be the same as for tSplitRow with the same datatypes. Add the following columns for the "Group by" section (same name for input and output): - Stringid - Fiscalyear - Quarter Add the following line for the "Operations" section: - Output column: Salesvolume - Function: sum - Input column position: Salesvolume - Ignore null values: ticked This will sum Salesvolume values for all rows with the same Stringid, Fiscalyear and Quarter.
The scenario has changed... Add this field to tSplitRow and tAggregateRow group by, but the output will be a little bit different of what you asked first as you'll have lines for both Newyork and London.