Keep

Prefiks keep jest podobny do prefiksu join. Podobnie jak prefiks join powoduje on porównanie załadowanej tabeli do istniejącej tabeli nazwanej lub ostatnio utworzonej tabeli danych. Zamiast jednak sprzęgać tabelę załadowaną z istniejącą, powoduje zredukowanie jednej lub obu tabel do części wspólnej danych przed zapisaniem tabel w aplikacji QlikView. Wykonywane porównanie jest równoważne wykonaniu sprzężenia naturalnego po wszystkich wspólnych polach, czy przebiega tak samo, jak przy analogicznej instrukcji join. Tabele nie są jednak sprzęgane i będą przechowywane w aplikacji QlikView jako dwie odrębne tabele nazwane.

Syntax:  

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

 

Prefiks keep musi być poprzedzony jednym z następujących prefiksów: inner, left lub right.

Jawne użycie prefiksu join w języku skryptowym QlikView powoduje wykonanie pełnego sprzężenia dwóch tabel. Wynikiem jest pojedyncza tabela. W wielu przypadkach wykonanie sprzężenia powoduje utworzenie bardzo dużej tabeli. Jedną z kluczowych zalet aplikacji QlikView jest możliwość tworzenia asocjacji między wieloma tabelami zamiast wykonywania sprzężeń. Pozwala to ograniczyć wymagania pamięciowe, przyspiesza działanie programu i zapewnia ogromną elastyczność działania. W skryptach QlikView warto zatem unikać wykonywania jawnych sprzężeń. Funkcję keep zaprojektowano z myślą o ograniczeniu liczby sytuacji wymagających używania jawnych sprzężeń.

Arguments:  

Argument Opis
tablename Tabela nazwana, która ma być porównana do załadowanej tabeli.
loadstatement lub selectstatement Instrukcja LOAD or SELECT dla załadowanej tabeli.

Example:  

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;