Splitting inbound data

Adding the Data Splitter component to a project opens a component window that displays inbound data attributes and OUT-port conditions.

The Data Splitter component is configured with two OUT-ports. Both port conditions are preset to 1. Since this condition is always true, regardless of the current values of the IN-port, the Data Splitter copies all incoming records to both OUT-ports.

The IN-port data buffer is initially empty, and only the inbound data attributes are visible. The OUT-port structures match the IN-port structure.

To populate the input attributes, click the “Step to the next input buffer” icon on the toolbar. Input data appears in the upper part of the component window.

Since the OUT-ports share the same port structure as the IN-port, selecting any record in the upper window causes the OUT-port to indicate whether the record meets the port condition. When a record meets port conditions, the OUT-port color is green. When a record does not meet port condition, the OUT-port color changes to red.

Inclusive port conditions

If the splitter mode is inclusive that is you have not defined mutually exclusive port conditions, each input record is tested against each port condition. For every matching port condition, a copy of the current record is written to the OUT-port.

Exclusive port conditions

If you have defined mutually exclusive port conditions, ports are evaluated based on a user specified order, instead of the order in which they appear on the component. The conditions are evaluated in the order of first to last. The first output port with a matching condition receives the input record. No further port conditions are evaluated. You can change the evaluation order of conditions by clicking the “Edit evaluation order” icon and then swapping rows in the Evaluation order window. To reset the evaluation order to default, click the “Reset evaluation order” icon.

NoteThe number of records that Data Splitter forwards to the OUT-ports can differ from the number of incoming records. If the port condition is not defined as mutually exclusive, when a single record matches more than one port condition, it is available on all of these ports. Records that do not match any of the conditions are removed from the data stream. For mutually exclusive port conditions, a single input record can match only one OUT-port. Records that do not match are not written to any OUT-port.