Keep

Префикс keep подобен префиксу join. Также как префикс join, этот префикс сравнивает загруженную таблицу с существующей таблицей, для которой задано имя, или с последней созданной таблицей данных, но вместо объединения загруженной таблицы с существующей он позволяет сократить одну или обе таблицы до сохранения в программе QlikView путем пересечения данных таблиц. Выполняемое сравнение аналогично натуральному объединению по всем общим полям, т. е. выполняется так же, как и при соответствующем объединении. Однако две таблицы не соединяются и сохраняются в программе QlikView в виде двух отдельных таблиц с заданными именами.

Синтаксис:  

(inner | left | right) keep [(tablename ) ]( loadstatement | selectstatement )

 

Перед префиксом keep следует задать один из префиксов inner, left или right.

Явный префикс join в языке скриптов в программе QlikView выполняет полное объединение двух таблиц. В результате получается одна таблица. Во многих случаях такое объединение приводит к созданию очень больших таблиц. Одной из основных функций QlikView является возможность связывания нескольких таблиц вместо их объединения, что позволяет значительно сократить использование памяти, повысить скорость обработки и гибкость. По этой причине явных объединений в скриптах QlikView следует, как правило, избегать. Функция keep предназначена для сокращения числа случаев необходимого использования явных объединений.

Аргументы:  

Аргумент Описание
tablename Будет выполнено сравнение именованной таблицы с загруженной таблицей.
Операторы loadstatementили selectstatement Оператор LOAD или SELECT для загруженной таблицы.

Пример:  

Inner Keep LOAD * from abc.csv;

Left Keep SELECT * from table1;

tab1:

LOAD * from file1.csv;

tab2:

LOAD * from file2.csv;

.. .. ..

Left Keep (tab1) LOAD * from file3.csv;