You can configure the Rank transformation to define groups for ranked rows. For example, to select the 10 most expensive items by manufacturer, define a rank group for the manufacturer. Define rank groups on the Group By tab.
To define rank groups, select one or more incoming fields as Group By Fields. For each unique value in a rank group, the transformation creates a group of rows that fall within the rank definition (top or bottom, and number in each rank).
Note: Define rank groups to improve performance in a mapping in advanced mode that processes a large volume of data. When you define rank groups, processing is distributed across multiple worker nodes. If you do not define rank groups, the data is processed on one worker node. Depending on the volume of data, performance is impacted and the mapping might fail due to a lack of storage space on the EBS volume that is attached to the worker node.
For example, you create a Rank transformation that ranks the top five salespersons grouped by quarter. The rank index numbers the salespeople from 1 to 5 for each quarter as follows:
RANKINDEX
SALES_PERSON
SALES
QUARTER
1
Alexandra B.
10000
1
2
Boris M.
9000
1
3
Chanchal R.
8000
1
4
Dong T.
7000
1
5
Elias M.
6000
1
1
Elias M.
11000
2
2
Boris M.
10000
2
3
Alexandra B.
9050
2
4
Dong T.
7500
2
5
Frances Z.
6900
2
If you define multiple rank groups, the Rank transformation groups the ranked rows in the order in which the fields are selected in the Group By Fields list.