You can use a Join transform to join elements from two or more inputs into an output element.
You provide a Join expression to determine which data to transform.
You define the mapping from the joined instances of the input arrays to an output target in the nested map. For more information, see Using nested maps.
The Join transform implements an inner-join.
If you want to implement an outer-join, use the For Each transform with the option Allow Empty input enabled.
You can define additional inputs to the Join transform by using supplement connections. These inputs are passed unchanged to the nested map. You can use these inputs inside your nested map to define conditional expressions in the transforms that you define.
The Cardinality property determines the inputs participating in the join operation.
You configure the Cardinality property tab of a Join transform to define which indexes are used from each input array in the join operation. For more information, see Selecting the indexes of input array elements.
By default, the order of the inputs to the Join transform is the order in which you wire the inputs.
You can modify the order by reordering the inputs in the Order tab of the transform properties.
The output element can be a simple element or a complex type element that can be repeating or not repeating.
When your output element is a repeating element, the Join expression determines the size of the output element.
Example 1: To join the first element of the first array with the first element of the second array, you set a join condition that matches based on index. You click Create Join expression based on index.
Example 2: If you do not specify a Join expression, the join matches the first element of the first array with all elements of the second array, and then it matches the second element of the first array with all elements of the second array, and so on.
For example, you can use iib:getUserDefinedProperty("propertyname") on a For Each filter to use a value that is not hard coded in the map, and you can also set dynamically via CMP API.