В этой статье:
Преобразователь «Соединение» - объект, предназначенный для слияния данных, при этом перед слиянием данных выполняется проверка заданных условий. С помощью этого преобразователя можно получить в результирующем наборе только те записи, для которых значения в одном из полей связи совпадают, либо все записи одного источника, дополненные значениями из других, если значения этих записей совпадают по ключевым полям.
Каждый объект имеет несколько входов и один выход. У всех источников должны быть определены уникальные индексы, количество и типы полей. Указанные атрибуты должны быть идентичны для всех источников. Дублирование записей не допускается (в этом случае необходимо провести предварительно операцию удаления дубликатов).
Для эффективной работы данного алгоритма должны быть выполнены условия:
отсутствие дубликатов по уникальному индексу во всех источниках данных;
все источники должны быть упорядочены по уникальному индексу. Порядок полей в уникальном индексе должен совпадать для всех источников.
При использовании преобразователя «Соединение» с типом «Внешнее соединение» из таблиц:
Key | Date | Value |
1 | Summer | 2222 |
2 | Winter | 4444 |
3 | Spring | 5555 |
и:
Key | Date | Value2 |
1 | Summer | 1111 |
2 | Winter | 3333 |
можно получить таблицу:
Key | Date | Value | Value2 |
1 | Summer | 2222 | 1111 |
2 | Winter | 4444 | 3333 |
3 | Spring | 5555 |
В базовых свойствах задается наименование объекта, идентификатор и примечание.
На странице определяется тип соединения.
Доступен выбор следующих типов соединения:
Внутреннее соединение. В объект-приёмник заносятся только те записи из объектов-источников, у которых совпадают значения индексируемых полей;
Внешнее соединение. В объект-приёмник заносятся все записи из источника, указанного в поле «Основной вход», а данные из остальных источников будут их дополнять. Связь объектов источников осуществляется по заданному индексу.
Для задания списка полей и связи для выхода используйте страницу «Редактирование выхода».
На странице доступны следующие настройки:
Примечание. Скриншот сделан на примере мастера редактирования источника данных «Репозиторий».
На странице «Редактирование выхода с ошибочными записями» задается связь с приёмником, в который будет экспортироваться информация об ошибочных записях, которые не были обработаны преобразователем:
Укажите идентификатор выхода с ошибками и выберите доступную связь с объектом-приёмником, в который будет экспортироваться информация об ошибочных записях.
Кнопка «Настройки» позволяет задать дополнительные настройки, которые будут применяться при возникновении ошибочных записей:
Укажите максимальное количество ошибочных записей, информация о которых будет экспортирована. По умолчанию установлено значение «-1», при этом экспортируется информация обо всех ошибочных записях.
Примечание. При наличии большого количества ошибочных записей, экспорт информации о них может замедлить выполнение задачи ETL.
Если задано максимальное количество выводимых записей, то также выберите действие, выполняемо при превышении этого количества. По умолчанию вывод записей прекращается.
Примечание. Скриншот сделан на примере мастера редактирования преобразователя данных «Разделение».
На странице «Индекс» определите индексируемые поля каждого входа. По значениям индексируемых полей происходит сопоставление данных в источниках.
Для выбора индексируемого поля:
перетащите выбранное поле из списка «Исходные поля» на соответствующий вход в списке «Выбранные поля»;
в списке «Исходные поля» выберите поле, а в списке «Выбранные поля» - вход. Нажмите кнопку «Добавить».
При переходе на следующую страницу будет предложено заполнить список полей из связанного выхода.
На странице «Связь полей» установите соответствие между полями входов и выхода.
Действия со связями полей:
Автоматическое создание связей полей. Позволяет автоматически создать связи между всеми входными полями и выходными полями, имеющими одинаковые идентификаторы. Для автоматического создания связей нажмите кнопку «Автоматически»;
Создание связи полей. Позволяет создать связь между входным и выходным полями, имеющими различные идентификаторы. Для создания связи перетащите необходимое поле из области «Исходные поля» в область «Связь полей входа и выхода», используя механизм Drag&Drop.
Редактирование связи полей. Позволяет редактировать формулу преобразования выходного значения с помощью редактора. Для редактирования связи в области «Связь полей входа и выхода»:
выберите необходимую связь и нажмите кнопку «Редактировать»;
дважды щелкните основной кнопкой мыши по необходимой связи;
Удаление связей. Для удаления связи между входным и выходным полями нажмите кнопку «Очистить».
См. также: