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 or 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;