Что общего между кругами Эйлера и операторами объединения таблиц в QlikView?
Бесплатный доступ
В статье будут рассмотрены функции объединения таблиц в скрипте QlikView, описаны их особенности и приведены примеры на практиек, а также проведено сравнение функций объединения таблиц с кругами Элйлера.
Скрипт qlikview, функции объединения таблиц qlikview, круги эйлера
Короткий адрес: https://sciup.org/140278483
IDR: 140278483
What is the common between Ailer's circles and the table association operators in QlikView?
The article will discuss the functions of combining tables in the QlikView script, describe their features and give examples of practices, and compare the functions of merging tables with Aljler circles.
Текст научной статьи Что общего между кругами Эйлера и операторами объединения таблиц в 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).