Mit der Funktion Exists() können Sie beim Laden aus einer Tabelle dafür sorgen das nur Werte geladen werden, welche auch in einer anderen Tabelle vorkommen.

Nehmen wir erneut unser Beispiel mit den Kunden:

Vorgänge:

VID MAID Status RID KID
1 1 0 1 1
2 2 1 2 2
.. ..  ..

Kunden:

KID Name Vorname
1 Rabe Erhard
2 Muster Lena
3 Rabe Gabi
 

Diesmal wollen wir nur die Kunden laden welche auch wirklich einen Vorgang besitzen, da wir zum zählen ja bereits das Schlüsselfeld KID dupliziert haben. Können wir dieses Feld als Referenz nutzen um diese der Exists Funktion als ersten Parameter mitzugeben. Als zweiten Parameter nehmen wir dann unsere KID, beachten Sie das dieses Verfahren nur mit dem duplizierten Feld funktioniert. Da Qlik die Werte ja in Feldern speichert würden sonst erst die Kunden wieder hinzugefügt und beim überprüfen nicht wieder ausgeschlossen.

Unser Script würde mit der Exists() Funktion in etwa so aussehen:

Vorgänge:
SQL Select 
  VID
  ,VID + '#' + VUID As MeinKey
  ,MAID
  ,Status
  ,RID
  ,VUID
 , KID
, KID As KIDinVorgänge
From Vorgänge;

TempKunden:
SQL Select 
  KID
  ,Name
  ,Vorname
From Mitarbeiter;

NoConcatenate
Kunden: 
Load * Resident TempKunden
Where Exists(KIDinVorgänge,KID);
Drop Table TempKunden;

 

Delta Load Beispiel mit Exists

Die Exists Funktion eignet sich auch für die Lösung eines DELTA Loads.