One-to-Many mapping, also known as ‘normalizing’, allows you to create several records from a single record in order to get a normalized record set.
To add a Normalize transformation, drag the Normalize object from the Transformations group in the Flow toolbox and drop it on the dataflow.
An example of what a Normalize object might look like is shown below.
To configure the properties of a Normalize 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 allows you to add or remove fields in the field layout, as well as select their data type. The fields added in Meta Object Builder will show in the Output node inside the object box, as well as in all Input nodes corresponding to the number of mapping groups created (see below).
Normalize (One-to-Many) Transformation Properties screen:
Select the number of mapping groups using the Number of Mapping Groups input. Each mapping group controls the layout of a record created by that mapping group. So, the number of mapping groups you add should equal the number of records that should be created for each incoming record.
Note: Entering the required number of mapping groups should be done prior to mapping the Normalize object. Once you close the Properties dialog box, each mapping group will show its own Input node in the object box.
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.
An example of mapping the Normalize object in a way that achieves one-to-many transformation is shown below.