Keep

Il prefisso keep è simile al prefisso join. Analogamente al prefisso join, confronta la tabella caricata con una tabella denominata esistente o con l'ultima tabella dati creata in precedenza, tuttavia, invece di unire la tabella caricata alla tabella esistente, riduce una o entrambe le due tabelle prima che vengano memorizzate in QlikView, in base all'intersezione dei dati della tabella. Il confronto effettuato equivale a un'unione naturale effettuata su tutti i campi comuni, ad esempio nello stesso modo di un'unione corrispondente. In ogni modo, le due tabelle non vengono unite e verranno conservate in QlikView come due tabelle denominate separatamente.

Sintassi:  

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

 

Il prefisso keep deve essere preceduto da uno dei prefissi seguenti: inner, left o right.

Il prefisso esplicito join nel linguaggio di script di QlikView consente di eseguire un'unione completa delle due tabelle. Il risultato è una sola tabella. In alcuni casi tale operazione di unione produce tabelle di dimensioni notevoli. Una delle principali funzioni di QlikView è la capacità di generare associazioni tra più tabelle invece di unirle, un'operazione che riduce notevolmente l'utilizzo della memoria, aumenta le prestazioni e offre una notevole flessibilità. In generale, si sconsiglia di utilizzare operazioni di unione esplicite negli script di QlikView. La funzionalità keep è stata studiata proprio per ridurre le situazioni in cui occorre utilizzare operazioni di unione esplicite.

Argomenti:  

Argomento Descrizione
tablename La tabella denominata da confrontare con la tabella caricata.
loadstatement o selectstatement L'istruzione LOAD o SELECT per la tabella caricata.

Esempio:  

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;