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;