Keep

O prefixo keep é semelhante ao prefixo join. Assim como o prefixo join, ele compara a tabela carregada com uma tabela nomeada existente ou com a última tabela de dados criada anteriormente. No entanto, em vez de juntar a tabela carregada com uma existente, ele que tem o efeito de reduzir uma ou ambas as tabelas antes de elas serem armazenadas no QlikView, com base no cruzamento de dados da tabela. A comparação feita é equivalente a uma junção natural feita em todos os campos comuns, ou seja, da mesma maneira como acontece em uma junção correspondente. Entretanto, as duas tabelas não são unidas e serão armazenadas no QlikView como duas tabelas nomeadas separadamente.

Sintaxe:  

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

 

O prefixo keep deve ser precedido dos prefixos inner, left ou right.

O prefixo join explícito na linguagem de script do QlikView executa uma junção completa das duas tabelas. O resultado é uma tabela. Em muitos casos, essas junções resultam tabelas muito grandes. Uma das principais características do QlikView é a capacidade de fazer associações entre várias tabelas, em vez de uni-las, reduzindo bastante o uso da memória, aumentando a velocidade de processamento e oferecendo grande flexibilidade. Portanto, geralmente as junções explícitas devem ser evitadas nos scripts do QlikView scripts. A funcionalidade keep foi desenvolvida para diminuir o número de casos em que é necessário usar junções explícitas.

Argumentos:  

Argumento Descrição
tablename A tabela nomeada a ser comparada com a tabela carregada.
loadstatement ou selectstatement O comando LOAD ou SELECT da tabela carregada.

Exemplo:  

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;