The Pivot Transform is a very powerful tool in SSIS. It’s a component that is overlooked and isn’t the first thing to come to mind when you need it most.
Imagine you have a table that has an employee listing for each type of phone number. For example, you have one row for business phone, personal phone, and cell phone. We want to clean this data up and have only one row per employee. Well this is the situation I was presented with recently. The great news is with the Pivot Transform in SSIS this can be accomplished fairly easy. The table below is an simplified example of the data we had to work with.
EmployeeID | PhoneType | PhoneNumber |
1 | Business | 123-987-6543 |
1 | Personal | 231-789-3456 |
1 | Cell | 312-897-5643 |
2 | Business | 321-978-6534 |
2 | Personal | 132-798-5634 |
2 | Cell | 213-879-3564 |
Our end product will look like this:
EmployeeID | BusinessPhone | PersonalPhone | CellPhone |
1 | 123-987-6543 | 231-789-3456 | 312-897-5643 |
2 | 321-978-6534 | 132-798-5634 | 213-879-3564 |
Step 1) Set up a data flow task in the control flow.
Step 2) Open up the data flow and pull in your source component. For this example I created a table in SQL Server.
Step 3) Drag in a Pivot Transform and link it to the source component.
Step 4) Configure the Pivot Transform
I was going to go through step by step instructions on how to configure the Pivot Transform. However, there is already an awesome blog out there by Devin Knight. Please click on the link below to view his blog post.
STEP 3 in Devin’s post explains how to configure the Pivot Transform.
Thanks for Looking!
Devin Post doesnt work, can you post an alternate link please
Hi Damien, try the following the link, thanks. https://devinknightsql.com/2009/06/15/better-know-a-ssis-transform-the-pivot-transform/