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