Можем ли мы сравнить столбцы из нескольких входных файлов, чтобы получить новый столбец в SSIS - PullRequest
1 голос
/ 29 июня 2019

Я пытаюсь создать производный столбец на основе столбцов, предоставленных в другом входном файле, но, к сожалению, я продолжаю получать ошибку, когда пытаюсь сопоставить свой Raw_File_1 с производным столбцом. Ошибка выглядит следующим образом:

Невозможно создать соединитель. Компонент назначения не имеет доступных входных данных для использования при создании пути.

Моя цель - соединить Raw_File_1 и Map_File_1 в производный столбец и создать новый столбец.

Если кто-нибудь может дать мне любое предложение, которое было бы замечательно !!

У меня есть исходный файл и справочный файл, оба являются плоским файлом. В моем исходном файле есть столбец a, столбец b и столбец c, а в моем справочном файле есть столбец d, столбец e и столбец f.

Если столбец a = столбец d и столбец b = столбец f, то я хочу заполнить столбец c тем же значением, что и столбец f. Как я могу сделать такой анализ или поиск в SSIS

enter image description here

Ответы [ 2 ]

1 голос
/ 01 июля 2019

Основываясь на ваших комментариях, которые я исправил в вопросе, вы хотите дополнить существующие данные на основе сопоставления данных из вашего справочного файла.

Ядро вашего пакета служб SSIS будет выглядеть следующим образом

Control flow has 2 data flow tasks

В первом потоке данных мы будем исходить из map_file_1 и загружатьв «сырой» файл.

enter image description here

Я настраиваю свое необработанное назначение файла следующим образом

enter image description here

Когда пакет запустится, он заполнит этот файл специального формата ссылочными данными.Это важно, потому что вы можете использовать базу данных или необработанный файл в качестве источника поиска.

Наконец-то мы приступили к работе!Плоский источник файла для компонента Lookup.На первой вкладке этого поиска обязательно измените тип соединения со значения по умолчанию «Диспетчер соединений OLE DB» на «Диспетчер соединений с кэшем»

На вкладке Соединение щелкните, чтобы создать новый CCM и использоватьнеобработанный файл, созданный на предыдущем шаге.

Сопоставить столбцы от A до D и от B до E (при условии совпадения типов данных).Установите флажок в столбце F и в части Lookup Operation замените C на это значение.

enter image description here

Заключительные мысли

Это будет поиск с учетом регистра.Если вещи не совпадают в справочном файле, они взорвутся.Возможно, это не то, что вам нужно, поэтому настройте преобразование «Уточняющий запрос», чтобы оно не выполнялось;)

Я писал об использовании Excel для заполнения кэша, если вам нужно больше слов http://billfellows.blogspot.com/2011/11/using-excel-in-ssis-lookup.html

1 голос
/ 30 июня 2019

Ваш вопрос не ясен, я постараюсь дать несколько советов:

Если вы хотите выполнить поиск с помощью производного столбца:

Вы можете использовать компонент Cache Transform и CacheДиспетчер соединений для достижения этого:

Если выГлядя на объединение обоих входов:

Тогда вам нужно использовать Merge Join или Union Все компоненты:

...