Rules and Guidelines for Lookup Transformation Conditions
Rules and Guidelines for Lookup Transformation Conditions
Certain rules and guidelines apply when you enter a condition for a Lookup transformation.
Consider the following rules and guidelines when you enter a condition for a Lookup transformation.
The datatypes for the columns in a lookup condition must match.
Use one input port for each lookup port in the lookup condition. You can use the same input port in more than one condition in a transformation.
If you use a port selector or a dynamic port in a lookup condition, the lookup condition considers all the ports in the expression.
You can use a dynamic input port or a port selector as the input port of a lookup condition. The number of generated ports in the input port must be equal to the number of ports in the lookup column.
When processing a Lookup transformation with multiple lookup conditions, the Integration Service returns rows that match all the lookup conditions.
You can create an expression parameter to parameterize the lookup condition in a nonreusable lookup transformation.
To increase lookup performance, enter conditions in the following order:
Equal to (=)
Less than (<), greater than (>), less than or equal to (<=), greater than or equal to (>=)
Not equal to (!=)
Use one of the following operators when you create a lookup condition: =, >, <, >=, <=, or !=.
The Integration Service processes lookup matches differently based on whether you configure the Lookup transformation with a dynamic lookup cache, static lookup cache, or uncached lookup.
The Integration Service matches null values. For example, the Integration Service considers a lookup port and an input port equal if they both have null values.
If the columns in a lookup condition are Decimal data types, the precision of each column must belong to the same precision range. Valid precision ranges include:
Decimal 0-18
Decimal 19-28
Decimal 29-38
Decimal 39 and over
For example, if you define the condition
DecimalA = DecimalB
where DecimalA has precision 15 and DecimalB has precision 25, the lookup condition is not valid.