Keep

Het prefix keep is vergelijkbaar met het prefix join. Net als bij het prefix join wordt de geladen tabel vergeleken met een bestaande benoemde tabel of de laatste eerder gemaakte gegevenstabel. Maar de geladen tabel wordt niet samengevoegd met een bestaande tabel, in plaats daarvan wordt een tabel of worden beide tabellen voordat ze worden opgeslagen in QlikView gereduceerd op basis van de doorsnede van de tabelgegevens. De uitgevoerde vergelijking is equivalent aan een natuurlijke join voor alle gemeenschappelijke velden, net zoals bij een overeenkomstige join. De twee tabellen worden echter niet samengevoegd, maar als twee afzonderlijk benoemde tabellen in QlikView bewaard.

Syntaxis:  

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

 

Het prefix keep moet worden voorafgegaan door een van de volgende prefixen inner, left of right.

Het expliciete prefix join in de scripttaal van QlikView zorgt voor een volledige koppeling van de twee tabellen. Het resultaat is één tabel. Dergelijke samenvoegingen resulteren vaak in zeer grote tabellen. Een van belangrijkste functies in QlikView is de mogelijkheid om meerdere tabellen met elkaar te associëren in plaats van ze samen te voegen. Dit vereist veel minder geheugen, versnelt de verwerking en biedt een enorme flexibiliteit. Expliciete joins kunnen dan ook beter worden vermeden in QlikView-scripts. De functionaliteit van keep is ontworpen om het aantal gevallen waar expliciete joins moeten worden gebruikt te verkleinen.

Argumenten:  

Argument Beschrijving
tablename De benoemde tabel die moet worden vergeleken met de geladen tabel.
loadstatement of selectstatement De LOAD of SELECT-opdracht voor de geladen tabel.

Voorbeeld:  

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;