Beispiel 1
Exists
(Employee)
Liefert -1 (True), wenn der Feldwert Employee im aktuellen Datensatz bereits in einem anderen Datensatz in diesem Feld vorkommt.
Die Befehle Exists (Employee, Employee) und Exists (Employee) sind gleichwertig.
Beispiel 2
Exists(Employee,
'Bill')
Liefert -1 (True), wenn der Feldwert 'Bill' im aktuellen Inhalt von Feld Employee gefunden wird.
Beispiel 3
Employees:
LOAD * inline [
Employee|ID|Salary
Bill|001|20000
John|002|30000
Steve|003|35000
] (delimiter is '|');
Citizens:
Load * inline [
Employee|Address
Bill|New York
Mary|London
Steve|Chicago
Lucy|Madrid
Lucy|Paris
John|Miami
] (delimiter is '|') where Exists (Employee);
Drop Tables Employees;
Dies führt zu einer Tabelle, die Sie in einer Tabellenvisualisierung mit den Dimensionen Employee und Address verwenden können.
Die Bedingung where (where Exists (Employee)) bedeutet, dass nur Namen aus der Tabelle Citizens, die sich auch in Employees befinden, in die neue Tabelle geladen werden. Der Drop-Befehl entfernt die Tabelle Employees, um Verwechslungen zu vermeiden.
Ergebnisse
|
|
Employee |
Address |
Bill | New York |
John | Miami |
Steve | Chicago |
Beispiel 4
Employees:
Load * inline [
Employee|ID|Salary
Bill|001|20000
John|002|30000
Steve|003|35000
] (delimiter is '|');
Citizens:
Load * inline [
Employee|Address
Bill|New York
Mary|London
Steve|Chicago
Lucy|Madrid
Lucy|Paris
John|Miami
] (delimiter is '|') where not Exists (Employee);
Drop Tables Employees;
Die Bedingung where beinhaltet not: where not Exists (Employee).
Das bedeutet, dass nur Namen aus der Tabelle Citizens, die sich nicht in Employees befinden, in die neue Tabelle geladen werden.
Beachten Sie, dass für Lucy zwei Werte in der Tabelle Citizens vorhanden sind, jedoch nur einer davon in der Ergebnistabelle enthalten ist. Wenn Sie die erste Zeile mit dem Wert Lucy laden, wird der Wert in das Feld Employee aufgenommen. Wenn die zweite Zeile geprüft wird, ist daher der Wert bereits vorhanden.
Ergebnisse
Employee |
Adresse |
Mary |
London |
Lucy | Madrid |
Beispiel 5
In diesem Beispiel wird gezeigt, wie Sie alle Werte laden.
Employees:
Load Employee As Name;
LOAD * inline [
Employee|ID|Salary
Bill|001|20000
John|002|30000
Steve|003|35000
] (delimiter is '|');
Citizens:
Load * inline [
Employee|Address
Bill|New York
Mary|London
Steve|Chicago
Lucy|Madrid
Lucy|Paris
John|Miami
] (delimiter is '|') where not Exists (Name, Employee);
Drop Tables Employees;
Damit alle Werte für Lucy abgerufen werden, müssen Sie zwei Einstellungen ändern:
-
Ein vorausgehender Ladevorgang in die Tabelle Employees wurde eingefügt, wobei Employee in Name umbenannt wurde.
Load Employee As Name;
-
Die Where-Bedingung in Citizens wurde wie folgt geändert:
not Exists (Name, Employee).
Damit werden Felder für Name und Employee erstellt. Wenn die zweite Zeile mit Lucy geprüft wird, ist sie in Name noch nicht vorhanden.
Ergebnisse
Employee |
Adresse |
Mary |
London |
Lucy | Madrid |
Lucy | Paris |