About 18 months ago I made available a custom SSIS component called the “Normaliser Component” which I’d been intending to upgrade for use with SSIS2008 but had not yet gotten around to doing. Earlier this week I got an email from someone asking me if I was going to make such a version available so I was spurred into doing the upgrade.
First a reminder about what it does. The Normaliser component takes a denormalised, sorted dataset as input and produces two outputs; firstly a distinct set of the sorted columns with a unique identifier for each (aka the ‘master’ dataset) and secondly a set containing all the unsorted columns with a pointer back to the unique identifier of the sorted columns (aka the ‘detail’ dataset).
Its easier to illustrate with pictures than words. Basically it takes the following input which is sorted on {OrderID, CustomerName}:
and produces the following two outputs:

Here’s how the Normaliser Component looks on the design surface:

As I said above I have now compiled a version that works with SSIS 2008 and you can download the installer from Codeplex from where you can also get the source code.
Hope this proves useful. If you have any questions please put them in the comments section below.
-Jamie