SSIS Conditional Split Transformation
[[articles:SQL Server Integration Services (SSIS)|Integration Services]] uses transformations to manipulate data during an [[articles:Extract Transform Load (ETL)|ETL]] dataflow. Transformations can be used in [[articles:SSIS Dataflow Task|Data Flow Tasks]], between data source and destination components, or [[articles:SSIS: List of Transformations|other transformations]].
The Conditional Split transformation is a fairly simple one: based on the condition set defined in it, it will redirect every row to one of its outputs. This transformation can have only one input, and it might have multiple outputs. The transformation always has a default output, which is similar to the "otherwise" case in some programming languages: if no condition can be evaluated as true for a record, then that record will be redirected to this output.
The conditions are defined with the syntax of [[SSIS Expression]]s, and the condition set is evaluated in the order of the definition. If a condition is true for a record, then the record is redirected to the corresponding output, and no other conditions will be evaluated. In the example above, all orders after January 2012 will be redirected to the default output.
This is a partially blocking transformation - however every output row has a 1:1 relationship with an input row, outputs of the transformation are copied into new buffers. The outputs are not necessarily connected to another (transformation or destination) component - in this case no records have to be handled on that data flow path. This is how filtering records is possible with SSIS: the outputs of the unnecessary records are not connected to any other component.
So, the Conditional Split transformation can be used to split the a data flow path to multiple paths, or filtering the data in the middle of a data flow. It sends each row to one of the outputs, in contrast to the [[articles:SSIS Multicast Transformation|Multicast transformation]], which multiplies data by sending all rows to all of the outputs.
For more detailed information on this transformation, please refer to this MSDN article.
For the complete list of SSIS transformations, check [[articles:SSIS: List of Transformations|this Wiki article]].