Rank Transformation in Informatica
The Rank Transformation in Informatica is an active, connected transformation used to select a bottom or top range of data. While string value ports can be ranked, the Informatica Rank Transformation is most commonly used to rank numeric port values. One might think MAX and MIN functions can accomplish this same task, however, the rank transformation allows groups of records to be ranked instead of a single value or record. The rank transformation is created with following types of ports.
Input port (I)
Output port (O)
Variable port (V)
Rank Port (R)
Rank Port
The port which is participated in a rank calculation is known as Rank port.
Variable Port
A port which allows you to develop expression to store the data temporarily for rank calculation is known as variable port. Variable port support to write expressions which are required for rank calculation.
Set the if properties to calculates the ranks
Top or bottom
Ports in a Rank Transformation :
Ports | Number Required | Description |
I | 1 Minimum | Port to receive data from another transformation. |
O | 1 Minimum | Port we want to pass to other transformation. |
V | not needed | can use to store values or calculations to use in an expression. |
R | Only 1 | Rank port. Rank is calculated according to it. The Rank port is an input/output port. We must link the Rank port to another transformation. Example: Total Salary |
Configuring the Rank Transformation
Configure the following properties of Rank transformation
Cache Directory: Directory where the integration service creates the index and data cache files.
Top/Bottom: Specify whether you want to select the top or bottom rank of data.
Number of Ranks: specify the number of rows you want to rank.
Case-Sensitive String Comparison: Used to sort the strings using case sensitive or not.
Tracing Level: Amount of logging to be tracked in the session log file.
Rank Data Cache Size: The data cache size default value is 2,000,000 bytes. You can set a numeric value, or Auto for the data cache size. In case of Auto, the Integration Service determines the cache size at runtime.
Rank Index Cache Size: The index cache size default value is 1,000,000 bytes. You can set a numeric value, or Auto for the index cache size. In case of Auto, the Integration Service determines the cache size at runtime.
What is Rank Index ?
Advanced Properties for Rank Transformation
Rank Transformation in Informatica With Examples
Procedure to create and configure Rank Transformation
In the Mapping Designer, open a Mapping.
Click Transformation > Create. Select Rank transformation.
Enter a name and click Done.
You will see one port RANK INDEX port already there. This port store the ranking of each record and can be used to populate target as well
Add all additional port from source input which are going to be use in following transformation.
Open the port tab and first check the Group by option for desired column ( for example deptno in our case)
Also check the Rank (R) option for the port which you want to do ranking. For example salary in our case.
We can define Group by indicator for multiple port, but Ranking can be done on single port only.
Go to the properties tab, select the Top/Bottom value as Top and the Number of Ranks property as per need.
Click OK.
Connect output ports of Rank Transformation to other transformation or target