Join transformation joins records from two record sets. The join functionality is similar to standard SQL joins, but the distinguishing advantage of Centerprise’s implementation is that you can join records from any two sources, not just database tables.
The following join types are available:
Inner Join – joins records from two record sets based on matching values in key fields. Any unmatched records are discarded.
Left Outer Join – same as Inner Join, but unmatched records from the left record set (also called ‘first record set’) are preserved, and null values are written for the unmatched record in the right record set (also called ‘second record set’).
Right Outer Join – same as Inner Join, but unmatched records from the right record set (also called ‘second record set’) are preserved, and null values are written for the unmatched record in the left record set (also called ‘first record set’).
Full Outer Join - same as Inner Join, but unmatched records from either record set are preserved, and null values are written for the unmatched record in the other record set.
To add a Join transformation, drag the Join object from the Transformations group in the Flow toolbox and drop it on the dataflow.
An example of what a Join object might look like is shown below.
To configure the properties of a Join object after it was added to the dataflow, right-click on it and select Properties from the context menu. The following properties are available:
Meta Object Builder screen:
Meta Object Builder screen is used to add or remove fields in the field layout, as well as select their data type.
Note: To quickly add fields to the layout, drag and drop the node Output port of the object whose layout you wish to replicate into the node Input port of the Join object. The fields added this way show in the list of fields inside the node and as well as in the Meta Object Builder.
Relational Join Transformation Properties screen:
Select a join type from the Join Type dropdown.
Using the Sort Input checkboxes, specify whether the left input, the right input, or both, need to be sorted.
Specify whether you want a case sensitive match of the values in the key fields.
Finally, select the fields whose values will be used to match records between the two record sets.
General Options screen:
This screen shares the options common to most objects on the dataflow.
Clear Incoming Record Messages
When this option is on, any messages coming in from objects preceding the current object will be cleared. This is useful when you need to capture record messages in the log generated by the current object and filter out any record messages generated earlier in the dataflow.
Do Not Process Records with Errors
When this option is on, records with errors will not be output by the object. When this option is off, records with errors will be output by the object, and a record message will be attached to the record. This record message can then feed into downstream objects on the dataflow, for example a destination file that will capture record messages, or a log that will capture the messages and as well as collect their statistics.
The Comments input allows you to enter comments associated with this object.
Some examples of join transformation are shown below.