Exercise: Loop over Excel workbooks, combining playlists into a table

This exercise is provided to allow potential course delegates to choose the correct Wise Owl Microsoft training course, and may not be reproduced in whole or in part in any format without the prior written consent of Wise Owl.

The answer to the exercise will be included and explained if you attend the course listed below!

Category ==> SSIS Integration Services  (40 exercises)
Topic ==> Looping over files  (3 exercises)
Level ==> Average difficulty
Course ==> Introduction to SSIS
Before you can do this exercise, you'll need to download and unzip this file (if you have any problems doing this, click here for help).

You need a minimum screen resolution of about 700 pixels width to see our exercises. This is because they contain diagrams and tables which would not be viewable easily on a mobile phone or small laptop. Please use a larger tablet, notebook or desktop computer, or change your screen resolution settings.

In Management Studio, open the SQL script in the above folder and execute it to generate an empty table:

Play list table

Your package should fill this table!

 

The idea is to combine data from the three workbooks in this folder into a single table:

The final table

The table you should aim to populate in SQL Server.

 

Create a package called Something for everyone which looks like this:

Looping over workbooks

To start with, just get the data flow task to import the Elderly.xlsx data into your Playlist table (we'll worry about changing this file in a moment).

 

When you run this package, you should get a bit of repetition:

Elderly songs

You can have too much Englebert ...

 

Now change the properties of your Excel connection manager so that the connection is an expression whose value changes each time round the loop:

List of all songs

Much better! Well, at least the SSIS package is.

How much energy do you still have left?  You could always add a derived column transform within the data flow task to generate the target market column value.  Here's a suggestion for the (horrible) expression you could use:

REPLACE(RIGHT(@[User::FilePath],
FINDSTRING(REVERSE(@[User::FilePath]),
"\\",1) - 1),".xlsx","")

And now it's definitely time to close the package down! 

This page has 0 threads Add post