Что общего между кругами Эйлера и операторами объединения таблиц в QlikView?
Бесплатный доступ
В статье будут рассмотрены функции объединения таблиц в скрипте 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).