SSIS Multicast 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]].

Sometimes the data flow must be processed in a detailed and an aggregated way, or different types of aggregations might be needed at the same time. This is when Multicast can be useful.

The Multicast is a basic data flow transformation which splits the data into multiple paths, sending all incoming rows to each of the outputs. It does not support error outputs since it does not apply any update on the data.
Basically, the Multicast transformation can be used to multiplicate all rows.

This is an example about a Multicast transformation, sending all rows to 3 different paths:

A bit funny, but this transformation has an editor also. Spot all properties you can set here:

You have an overview of all outputs here, on the left pane.

The Multicast is an asynchronous (also known as partially blocking) transformation, which means that the the output records does not necessarily have a 1:1 relation with an input row, and the output of the transformation is copied into new buffers and new threads may be introduced into the data flow.

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]].