Using a variable as the input for a Conditional Split control

335 Views Asked by At

Might be going about this completely the wrong way - happy to be shown the error of my ways.

In a nutshell, I've got 50-odd files of mixed types (csv and excel) that I want to import (each file to its own table) to an SQL database.

In the control flow I've got an sql task that returns:

  • The source data filename
  • The source data filetype (csv / xlsx)
  • What I want to name the table to import to.

This object gets passed to a Foreach loop that loops through this object and puts these 3 fields into variables.

I want to then say "if the filetype variable is csv, go and do a flat file import. If it's .xlsx, go and do an excel import"

So inside my for each container I've got a dataflow task.

I want the first thing the dataflow task does to check the filetype variable, and then do the appropriate import.

I think it's got to be in the dataflow, because there isn't an "If" style control I can see in the control flow?

But I'm at a loss as to how I pass a variable into the conditional split.

Any thoughts welcome.

OR! - just had a thought. Is the best way to do this to get a list of all the csv file types, process them in a dataflow, then get a list of all the .xlsx ones and process them - so I'd have:

  1. Get csv filenames & tablenames
  2. for each to loop through these
  3. dataflow to import data from csv
  4. get xlsx filenames and tablenames
  5. for each through these
  6. dataflow to import data from xlsx.

Just doesn't seem as elegant?

Cheers

0

There are 0 best solutions below