Voorbeeld 1
Exists
(Employee)
Retourneert -1 (True) als de waarde van het veld Employee in de huidige record al bestaat in een eerder gelezen record met dat veld.
De opdrachten Exists (Employee, Employee) en Exists (Employee) zijn equivalent.
Voorbeeld 2
Exists(Employee,
'Bill')
Retourneert -1 (True) als de veldwaarde 'Bill' wordt gevonden in de huidige inhoud van het veld Employee.
Voorbeeld 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;
Dit resulteert in een tabel die u kunt gebruiken in een tabelvisualisatie met de dimensies Employee en Address.
De where-clausule, where Exists (Employee), betekent dat alleen de namen uit de tabel Citizens die tevens in Employees voorkomen in de nieuwe tabel worden geladen. Met de Drop-opdracht wordt de tabel Employees verwijderd om verwarring te voorkomen.
Resultaten
|
|
Employee |
Address |
Bill |
New York |
John |
Miami |
Steve |
Chicago |
Voorbeeld 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;
De where-clausule omvat not: where not Exists (Employee).
Dit betekent dat alleen de namen uit de tabel Citizens die niet in Employees voorkomen in de nieuwe tabel worden geladen.
Houd er rekening mee dat hoewel er twee waarden voor Lucy in de tabel Citizens staan, slechts één in de resultaattabel wordt opgenomen. Wanneer u de eerste rij laadt met de waarde Lucy, wordt de waarde opgenomen in het veld Employee. Dus wanneer vervolgens de tweede rij wordt gecontroleerd, bestaat de waarde al.
Resultaten
Employee |
Address |
Mary |
London |
Lucy |
Madrid |
Voorbeeld 5
In dit voorbeeld wordt getoond hoe u alle waarden kunt 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;
Om alle waarden voor Lucy te kunnen ophalen, zijn er twee dingen gewijzigd:
-
Een voorgaande lading van de tabel Employees was ingevoerd op de plaats waar Employee is gewijzigd in Name.
Load Employee As Name;
-
De Where-voorwaarde in Citizens is gewijzigd in:
not Exists (Name, Employee).
Hierdoor worden velden voor Name en Employee gemaakt. Wanneer de tweede rij met Lucy wordt gecontroleerd, bestaat deze nog niet in Name.
Resultaten
Employee |
Address |
Mary |
London |
Lucy |
Madrid |
Lucy |
Paris |