Назначение

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

Входы и выходы

От 2 до 32 именованных входов. out содержит поля с префиксами-псевдонимами, например a.Product и b.Category.

Параметры

ПараметрНастройки и значенияВарианты и ограничения
inputsИменованные входы, каждый с отдельным подключением.Количество: 2–32
decimalДесятичный разделитель числовых значений во входных данных.Варианты: ., ,
По умолчанию: .
nulls_equalРазрешить совпадение NULL с NULL в ключах. По умолчанию пустые ключи не совпадают.По умолчанию: disabled

Свойства каждого входа

ПараметрЧто настраивает
id / labelПостоянный идентификатор порта и понятное пользователю имя.
aliasУникальный префикс столбцов; обязателен и для первого входа.
howРежим соединения для каждого входа после первого.
keysПары left/right с признаком numeric; до 32 пар.
cardinalityОжидаемая уникальность ключей для проверки структуры данных.

Пошаговая настройка

  1. Используйте основную таблицу первым входом с псевдонимом a. Присвойте справочнику псевдоним b.
  2. Для каждого следующего входа выберите inner/left/right/full.
  3. Добавьте пары ключей: левое поле с псевдонимом уже присоединённого входа и правое поле текущего источника.
  4. Выберите ожидаемую уникальность; для обычного справочника обычно подходит many_to_one.
  5. Проверьте количество строк, пустые поля и возможное размножение строк из-за повторяющихся ключей.

Правила и диагностика

  • inner оставляет только совпадения; left — все левые строки; right — все правые; full — все строки обеих сторон. Отсутствующая сторона заполняется NULL.
  • many_to_one требует уникальности правых ключей; one_to_many — левых; one_to_one — обеих сторон; many_to_many разрешает повторы с обеих сторон. Нарушение вызывает JOIN_CARDINALITY.
  • При нескольких ключах должна совпасть каждая пара. Числовой режим настраивается для каждой пары отдельно.
  • Повторы с обеих сторон создают все совпадающие комбинации и могут значительно увеличить результат. Слишком большой результат останавливается ограничением ячеек.

Пример настройки

Соедините продажи a с ProductCode и Value со справочником b, содержащим Code и Category. Задайте how=left, ключ a.ProductCode=b.Code и cardinality=many_to_one. Продажи без совпадения в справочнике сохранятся с b.Category=NULL.