• I would do it on the source. It performs much better.

    Alternatively, I would join schedule a job for night time which joins 15 tables, and store the data in flattened table, and then use data from flattened table as a source.

    SSIS lookups can be expensive operations.

    ------------
    🙂