Настройка узла Разность

Окно настроек узла Разность включает две вкладки: Выбор ключа и Общие.

Вкладка Общие позволяет вам настроить имя и описание узла и встречается в нескольких узлах PolyAnalyst.

Вкладка Выбор ключа – основная вкладка в настройках, она предназначена для создания ключа сравнения записей. Данная вкладка практически идентична аналогичной вкладке в узлах Конкатенация и Объединение, поэтому опыт работы с этими узлами будет полезен при работе с данной вкладкой в узле Разность.

Ключ дает команду PolyAnalyst, как именно определять присутствие записи в обеих исходных таблицах узла Разность. Как описано выше, основная цель узла – создать новую таблицу, состоящую из всех записей, присутствующих в левосторонней исходной таблице, которые отсутствуют в исходной таблице справа. Чтобы определить, присутствует ли запись из левой таблицы в правой таблице, PolyAnalyst должен сравнить каждую запись в таблице слева с каждой записью в таблице справа. Результат сравнения зависит от ключа.

На вкладке Выбор ключа нужно указать колонки, которые будут использоваться в процессе сравнения.

Например, если в каждой таблице имеется колонка ID записи, то эта колонка может подойти в качестве ключа, и скорее всего, это единственная колонка, используемая для сравнения записей.

Если у записей нет ID, попробуйте создать их (например, добавив колонку с номерами записей) на этапе создания левой или правой таблицы. Можно также использовать узел Производные колонки для добавления колонки с идентификаторами строк.

Ключ состоит из одной или нескольких колонок. Нужно указать как минимум одну колонку. Вы можете использовать все колонки таблицы.

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

Ключ определяется по одной или нескольким парам колонок, в которых пара колонок включает одну колонку из левой таблицы и одну – из правой таблицы. Имена колонок не должны быть одинаковыми. Однако, типы данных колонки должны быть одинаковыми, в противном случае при выполнении узла произойдет ошибка.

Чтобы создать пару колонок, выберите колонку из списка колонок слева (из левой таблицы), затем выберите колонку из списка колонок справа (из правой таблицы), а затем нажмите Добавить пару.

difference properties.rus

PolyAnalyst добавит пару выбранных колонок в нижней части окна. Таблица, занимающая нижнюю половину вкладки Выбор ключа, отображает список настроенных пар колонок.

Нажмите на кнопку swap button, чтобы поменять роли исходных таблиц (т.е. поменять их местами). Если вы соединили исходные таблицы неверно, проще поменять их местами, а не разъединять узлы и соединять их на скрипте еще раз, изменяя при этом настройки.

Чтобы удалить пару колонок из таблицы, нажмите remove pair button напротив нужной пары в нижней таблице.

Нажмите Удалить все, чтобы удалить все пары колонок из нижней таблицы. При этом ключ будет сброшен. Это может понадобиться в случае перенастройки узла.

Кнопка Автоматически позволяет автоматически определить, какие колонки должны составлять ключ. Нажмите на эту кнопку, чтобы PolyAnalyst самостоятельно решил, какие пары нужно использовать в качестве ключа. Для создания списка пар колонок PolyAnalyst использует простой алгоритм на основе имен колонок и типа данных. Это детерминированный алгоритм (повторное нажатие на кнопку Автоматически не изменит результат, если только вы не измените исходные таблицы).

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

Пример настройки узла Разность

Предположим, что у вас есть две таблицы с демографическими данными, а в каждой таблице – колонка строкового типа с именем SSN, которая содержит номера страховых свидетельств отдельных лиц (по одному на строку). У каждого человека уникальный номер SNN.

Предположим, что одна таблица содержит всех людей, принявших участие в переписи населения, а другая содержит выборку людей из некого государства, назовем его Утопия. Таблицы содержат одинаковые колонки. В Утопии живет как минимум один человек, т.е. таблица не пустая.

Таблицу с данными о переписи всего населения определим как левую, таблицу данных с выборкой по Утопии – как правую.

При настройке узла создадим ключ, состоящий из одной пары колонок: колонки SSN из левой таблицы и колонки SSN из правой таблицы. Чтобы настроить узел:

  1. Убедитесь, что все соединения настроены. Исходные таблицы должны быть соединены с узлом Разность на скрипте, и настроены так, чтобы PolyAnalyst знал о выходных колонках каждого узла. В противном случае колонки не появятся на вкладке Выбор ключа узла Разность.

  2. Выберите колонку SSN из списка колонок слева, который представляет левую таблицу (по полной численности населения).

  3. Выберите колонку SSN из списка колонок справа, который представляет правую таблицу (по выборке из Утопии).

  4. Нажмите Добавить пару.