Используя Visual Studio (SSIS), как разделить один CSV на несколько файлов на основе значения одного столбца? - PullRequest
0 голосов
/ 06 июня 2019

У меня есть файл CSV, хранящийся на сетевом диске. Файл содержит 17 столбцов информации. Я хочу создать пакет Visual Studio SSIS, который использует столбец «Фирма» для создания нового CSV-файла для каждого имени, указанного в столбце «Фирма», и записывает только те строки, где Фирма соответствует соответствующему файлу. Новые имена файлов должны быть в формате [Фирменное наименование] _Дата / время. Я создал поток, который выводит файлы, но он не фильтрует содержимое файлов в соответствии с фирмой (записывает все строки из источника в каждый созданный файл).

Я создал новый поток данных, который содержит исходный файл с подключением к исходному CSV-файлу. При этом вводятся исходные данные CSV и выводится набор записей с именем переменной «ListofFirms».

Он передается в контейнер цикла ForEach с собственным потоком данных. Источник плоских файлов для этого потока данных использует то же соединение, что и исходный поток данных CSV. Это переходит в условное разделение, которое разделяет на основе Firm == @ [User :: FirmName]. Это выводится в пункт назначения плоского файла. Назначение «Плоский файл» имеет выражение для именования выходных файлов.

При запуске процесс генерирует файл для каждой фирмы в исходных данных. Каждый из сгенерированных файлов содержит ВСЕ строки из исходного файла. Я ожидаю, что он будет отфильтрован, так что файл «Фирма А» содержит только те строки, в которых в столбце «Фирма» присутствует «Фирма А».

...