Настройка узла Разность
Окно настроек узла Разность включает две вкладки: Выбор ключа и Общие.
Вкладка Общие позволяет вам настроить имя и описание узла и встречается в нескольких узлах PolyAnalyst.
Вкладка Выбор ключа – основная вкладка в настройках, она предназначена для создания ключа сравнения записей. Данная вкладка практически идентична аналогичной вкладке в узлах Конкатенация и Объединение, поэтому опыт работы с этими узлами будет полезен при работе с данной вкладкой в узле Разность.
Ключ дает команду PolyAnalyst, как именно определять присутствие записи в обеих исходных таблицах узла Разность. Как описано выше, основная цель узла – создать новую таблицу, состоящую из всех записей, присутствующих в левосторонней исходной таблице, которые отсутствуют в исходной таблице справа. Чтобы определить, присутствует ли запись из левой таблицы в правой таблице, PolyAnalyst должен сравнить каждую запись в таблице слева с каждой записью в таблице справа. Результат сравнения зависит от ключа.
На вкладке Выбор ключа нужно указать колонки, которые будут использоваться в процессе сравнения.
Например, если в каждой таблице имеется колонка ID записи, то эта колонка может подойти в качестве ключа, и скорее всего, это единственная колонка, используемая для сравнения записей.
Если у записей нет ID, попробуйте создать их (например, добавив колонку с номерами записей) на этапе создания левой или правой таблицы. Можно также использовать узел Производные колонки для добавления колонки с идентификаторами строк. |
Ключ состоит из одной или нескольких колонок. Нужно указать как минимум одну колонку. Вы можете использовать все колонки таблицы.
Чем меньше пар, составляющих ключ, тем быстрее выполняется сравнение. Однако изменения в производительности минимальны.
Ключ определяется по одной или нескольким парам колонок, в которых пара колонок включает одну колонку из левой таблицы и одну – из правой таблицы. Имена колонок не должны быть одинаковыми. Однако, типы данных колонки должны быть одинаковыми, в противном случае при выполнении узла произойдет ошибка.
Чтобы создать пару колонок, выберите колонку из списка колонок слева (из левой таблицы), затем выберите колонку из списка колонок справа (из правой таблицы), а затем нажмите Добавить пару.
PolyAnalyst добавит пару выбранных колонок в нижней части окна. Таблица, занимающая нижнюю половину вкладки Выбор ключа, отображает список настроенных пар колонок.
Нажмите на кнопку , чтобы поменять роли исходных таблиц (т.е. поменять их местами). Если вы соединили исходные таблицы неверно, проще поменять их местами, а не разъединять узлы и соединять их на скрипте еще раз, изменяя при этом настройки.
Чтобы удалить пару колонок из таблицы, нажмите напротив нужной пары в нижней таблице.
Нажмите Удалить все, чтобы удалить все пары колонок из нижней таблицы. При этом ключ будет сброшен. Это может понадобиться в случае перенастройки узла.
Кнопка Автоматически позволяет автоматически определить, какие колонки должны составлять ключ. Нажмите на эту кнопку, чтобы PolyAnalyst самостоятельно решил, какие пары нужно использовать в качестве ключа. Для создания списка пар колонок PolyAnalyst использует простой алгоритм на основе имен колонок и типа данных. Это детерминированный алгоритм (повторное нажатие на кнопку Автоматически не изменит результат, если только вы не измените исходные таблицы).
Возможно, позже вы перенастроите узлы на скрипте. В результате может выйти так, что исходные таблицы будут генерировать другие колонки, которые отличаются от тех, что уже выбраны в качестве ключа для сравнения. В таком случае вы можете нажать кнопку Удалить отсутствующие колонки в левом нижнем углу вкладки для автоматического удаления таких колонок.
Пример настройки узла Разность
Предположим, что у вас есть две таблицы с демографическими данными, а в каждой таблице – колонка строкового типа с именем SSN, которая содержит номера страховых свидетельств отдельных лиц (по одному на строку). У каждого человека уникальный номер SNN.
Предположим, что одна таблица содержит всех людей, принявших участие в переписи населения, а другая содержит выборку людей из некого государства, назовем его Утопия. Таблицы содержат одинаковые колонки. В Утопии живет как минимум один человек, т.е. таблица не пустая.
Таблицу с данными о переписи всего населения определим как левую, таблицу данных с выборкой по Утопии – как правую.
При настройке узла создадим ключ, состоящий из одной пары колонок: колонки SSN из левой таблицы и колонки SSN из правой таблицы. Чтобы настроить узел:
-
Убедитесь, что все соединения настроены. Исходные таблицы должны быть соединены с узлом Разность на скрипте, и настроены так, чтобы PolyAnalyst знал о выходных колонках каждого узла. В противном случае колонки не появятся на вкладке Выбор ключа узла Разность.
-
Выберите колонку SSN из списка колонок слева, который представляет левую таблицу (по полной численности населения).
-
Выберите колонку SSN из списка колонок справа, который представляет правую таблицу (по выборке из Утопии).
-
Нажмите Добавить пару.