• It is possible:

    * store the current file name in a variable (you can configure this in the for each loop)

    * inspect the file name with a script task. According to the value found, set another variable (for example: if _Product_ was found, store Product in @typeFile variable)

    * connect the script task to 12 data flow tasks (assuming each file has a different layout). In the precedence constraint, use an expression. For example: @typeFile == "Product"

    The downside is that you are processing file per file.

    While 12 for each loops may seem ugly, it will probably be much faster.

    Need an answer? No, you need a question
    My blog at https://sqlkover.com.
    MCSE Business Intelligence - Microsoft Data Platform MVP