Учебники

QlikView — сохраняет

Команда keep в QlikView используется для объединения данных из двух наборов данных, сохраняя оба набора данных в памяти. Это очень похоже на соединения, которые мы рассмотрели в предыдущей главе, за исключением двух основных отличий. Первое отличие — в случае удержания; оба набора данных доступны в памяти QlikView, в то время как при объединении операторы загрузки генерируют только один набор данных, из которого вы должны выбрать столбцы. Второе отличие заключается в том, что нет понятия внешнего хранения, где у нас есть внешнее соединение в случае соединений.

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

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

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

Product Sales:
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 и найдите файл ввода. Затем мы редактируем команды в скрипте, чтобы создать внутреннюю привязку между таблицами.

keep_script

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

Сначала мы выбираем только таблицу productSales , в которой отображаются поля ProductID, ProductCategory и SaleAmount.

keep_product_sales

Далее мы выбираем набор данных ProductList , который дает нам поля ProductID и ProductCategory.

keep_product_list

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

keep_both_tables

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

keep_chart_innerkeep

Левый замок

Левое удержание аналогично левому соединению, в котором все строки таблицы слева хранятся вместе с обоими наборами данных, доступными в памяти QlikView.

Оставь Сценарий

Следующий скрипт используется для создания результирующих наборов данных с помощью левой команды keep.

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

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

Оставьте данные

Когда мы изменим скрипт, как описано выше, и обновим данные в отчете, используя Control + R , мы получим следующие данные в объектах листа.

keep_chart_leftkeep

Право держать

Хранение справа аналогично левому соединению, при котором все строки таблицы справа сохраняются вместе с обоими наборами данных, доступными в памяти QlikView.

Право держать сценарий

Следующий скрипт используется для создания результирующих наборов данных с помощью левой команды keep.

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

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

Право хранить данные

Когда мы изменим скрипт, как описано выше, и обновим данные в отчете, используя Control + R , мы получим следующие данные в объектах листа.