Что общего между кругами Эйлера и операторами объединения таблиц в QlikView?

Автор: Рыжкина Д.А.

Журнал: Форум молодых ученых @forum-nauka

Статья в выпуске: 5 (9), 2017 года.

Бесплатный доступ

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

Скрипт qlikview, функции объединения таблиц qlikview, круги эйлера

Короткий адрес: https://sciup.org/140278483

IDR: 140278483

Текст научной статьи Что общего между кругами Эйлера и операторами объединения таблиц в QlikView?

Объединение таблиц - это самый важный момент в написании скрипта для загрузки данных. Конечно, самыми популярными операторами связи таблиц считаются: Join и Keep. Нужно что бы ничего не задвоилось, ничего не потерялось, а главное, чтобы не появилось синтетических ключей. Что бы лучше понять какой оператор подобрать для объединения таблиц, какой оператор, по какому принципу объединяет таблицы, а также какой результат можно ожидать, нужно знать, что каждый оператор под собой предполагает. Ниже в статье будет описано несколько примеров объединения таблиц в скрипте.

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

Left (Righ) Join - оператор, который позволяет добавлять столбцы слева, относительно столбцов основной таблицы. По такому принципу данные будут выглядеть следующим образом: одинаковые измерения останутся неизменными, разве что добавятся некоторые новые значения, а вот измерения, которых не было в первой таблице добавятся новыми столбцами слева. Пример:

База:

Load*Inline [

Имя, Должность,

Саша, Продавец,

Маша, Врач,

Серёжа, Учитель ] ;

Left Join (База)

Load*Inline [

Имя, Город,

Саша, Екатеринбург,

Маша, Москва,

Серёжа, Воронеж

Дима, Саратов ] ;

Итог представлен в таблице 1.

Таблица 1 Результат соединения двух таблиц оператором Left Join

Имя

Должность

Город

Саша

Продавец

Екатеринбург

Маша

Врач

Москва

Серёжа

Учитель

Воронеж

В примере наглядно видно, что таблицы соединились по уникальному полю Имя и к первой таблице слева добавился столбец Город. Но при этом данные обрезались относительно первой таблицы, как можно заметить в итоговую таблицу не попал Дмитрий из второй таблицы Что соответствует такому типу объединения кругов Эйлера как на рисунке 1:

Рисунок 1 Круги Эйлера соответствие с оператором Left Join

Мы видим, что добавились новые данные, но они сократились относительно первой таблицы.

Outher Join - оператор, который позволяет связывать столбцы обеих таблиц принудительно вне зависимости от типа данных между собой и от количества полей. При таком связывание таблиц все данные из обоих таблиц будут загружены, все зависимости заполнены ли все строки по эти данным.. Пример:

База:

Load*Inline [

Имя, Должность,

Саша, Продавец,

Маша, Врач,

Серёжа, Учитель ] ;

Outher Join (База)

Load*Inline [

Имя, Город,

Саша, Екатеринбург,

Маша, Москва,

Серёжа, Воронеж

Дима, Саратов ] ;

Итог представлен в таблице 2.

Таблица 2 Результат соединения двух таблиц оператором Outher Join

Имя

Должность

Город

Саша

Продавец

Екатеринбург

Маша

Врач

Москва

Серёжа

Учитель

Воронеж

Дима

-

Саратов

В примере наглядно видно, что таблицы соединились по уникальному полю Имя и к первой таблице слева добавился столбец Город. Но при этом данные уже не обрезались относительно первой таблицы, а уже загрузились полностью вне зависимости от наполненности данных. Что соответствует такому типу объединения кругов Эйлера как на рисунке 2:

Рисунок 2 Круги Эйлера соответствие с оператором Outher Join

Мы видим, что данные сохранились в полном объеме после загрузки.

Глядя на круги Эйлера можно заранее понять какую связь можно получить, вставив то или иной оператор в скрипт и уже определить для какого случая какое объединение подойдет лучше.

Список литературы Что общего между кругами Эйлера и операторами объединения таблиц в QlikView?

  • Объединение таблиц [Электронный ресурс]. - Режим доступа: http://help.qlik.com/ru-RU/qlikview/12.1/Subsystems/Client/Content/LoadData/concatenate-tables.htm - (Дата обращения: 29.05.2017).
  • Использование метода кругов Эйлера (диаграмм Эйлера-Венна) при решении задач в курсе информатики и ИКТ // Кулешова Ольга Владимировна, зам. д. по УВР, уч. инф./ [Электронный ресурс]. - Режим доступа: http://festival.1september.ru/articles/632635/- (Дата обращения: 29.05.2017).
Статья научная