To improve job performance, you can configure an Aggregator transformation to use sorted data. To configure the Aggregator transformation to process sorted data, on the
Advanced
tab, select
Sorted Input
.
When you configure an Aggregator transformation to use sorted data, you must sort data earlier in the data flow. If the Aggregator transformation processes data from a relational database, you must also ensure that the sort keys in the source are unique. If the data is not presorted correctly or the sort keys are not unique, you can receive unexpected results or errors when you run the mapping task.
When the
mapping
task performs aggregate calculations on sorted data, the task caches sequential rows of the same group. When the task reads data for different group, it performs aggregate calculations for the cached group, and then continues with the next group.
For example, an Aggregator transformation has the STORE_ID and ITEM group by fields, with the sorted input option selected. When you pass the following data through the Aggregator, the
mapping
task performs an aggregation for the three rows in the 101/battery group as soon as it finds the new group, 201/battery:
STORE_ID
ITEM
QTY
PRICE
101
'battery'
3
2.99
101
'battery'
1
3.19
101
'battery'
2
2.59
201
'battery'
4
1.59
201
'battery'
1
1.99
When you do not use sorted data, the
mapping
task performs aggregate calculations after it reads all data.