Учебники

QlikView — Joins

Объединения в QlikView используются для объединения данных из двух наборов данных в один. Объединения в QlikView означают то же самое, что и в объединениях в SQL. В выходных данных отображаются только значения столбца и строки, соответствующие условиям соединения. Если вы совершенно новичок в присоединениях, вы можете сначала узнать о них здесь.

Входные данные

Давайте рассмотрим следующие два файла данных CSV, которые используются в качестве входных данных для дальнейших иллюстраций.

Product List:
ProductID,ProductCategory
1,Outdoor Recreation
2,Clothing
3,Costumes & Accessories
4,Athletics
5,Personal Care
6,Hobbies & Creative Arts

ProductSales:
ProductID,ProductCategory,SaleAmount
4,Athletics,1212
5,Personal Care,5211
6,Hobbies & Creative Arts,1021
7,Display Board,2177
8,Game,1145
9,soap,1012
10,Beverages & Tobacco,2514

Внутреннее соединение

Мы загружаем вышеуказанные входные данные с помощью редактора сценариев, который вызывается нажатием Control + E. Выберите опцию Table Files и найдите файл ввода. Затем мы редактируем команды в скрипте, чтобы создать внутреннее соединение между таблицами.

load_script

Внутреннее объединение выбирает только те строки, которые присутствуют в обеих таблицах. В этом случае выбираются строки, доступные как в Списке продуктов, так и в таблице Продажи продуктов . Мы создаем поле таблицы, используя меню Макет → Новые объекты листа → Поле таблицы, в котором мы выбираем все три поля — ProductID, ProductCategory и SaleAmount для отображения.

внутреннее соединение

Оставить Присоединиться

Левое объединение включает в себя выборку всех строк из таблицы слева и сопоставление строк из таблицы справа.

Загрузить скрипт

Sales:
LOAD ProductID, 
     ProductCategory, 
     SaleAmount
FROM
[C:\Qlikview\data\product_lists.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);

LEFT JOIN(Sales)

LOAD ProductID, 
     ProductCategory
FROM
[C:\Qlikview\data\Productsales.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);

Мы создаем поле таблицы, используя меню « Макет» → «Новые объекты листа» → « Поле таблицы» , где мы выбираем все три поля — ProductID, ProductCategory и SaleAmount, которые будут отображаться.

left_join

Право Присоединиться

Правое объединение включает в себя выборку всех строк из таблицы справа и соответствующих строк из таблицы слева.

Загрузить скрипт

Sales:
LOAD ProductID, 
     ProductCategory, 
     SaleAmount
FROM
[C:\Qlikview\data\product_lists.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);

RIGHT JOIN(Sales)

LOAD ProductID, 
     ProductCategory
FROM
[C:\Qlikview\data\Productsales.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);

Мы создаем поле таблицы, используя меню « Макет» → «Новые объекты листа» → « Поле таблицы» , где мы выбираем все три поля — ProductID, ProductCategory и SaleAmount, которые будут отображаться.

right_join

Внешнее соединение

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

Загрузить скрипт

Sales:
LOAD ProductID, 
     ProductCategory, 
     SaleAmount
FROM
[C:\Qlikview\data\product_lists.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);

OUTER JOIN(Sales)

LOAD ProductID, 
     ProductCategory
FROM
[C:\Qlikview\data\Productsales.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);

Мы создаем поле таблицы, используя меню Макет → Новые объекты листа → Поле таблицы, в котором мы выбираем все три поля — ProductID, ProductCategory и SaleAmount для отображения.