Exempel 1
Exists
(Employee)
Returnerar -1 (True) om fältets värde Employee i den aktuella posten redan finns i en tidigare läst post som innehåller detta fält.
Satserna Exists (Employee, Employee) och Exists (Employee) är ekvivalenta.
Exempel 2
Exists(Employee,
'Bill')
Returnerar -1 (True) om fältvärdet 'Bill' hittas i det aktuella innehållet i fältet Employee.
Exempel 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;
Detta resulterar i en tabell som du kan använda i en tabellvisualisering med dimensionerna Employee och Address.
where-satsen, where Exists (Employee), betyder att enbart namnen från tabellen Citizens som också finns i Employees laddas till den nya tabellen. Satsen Drop avlägsnar tabellen Employees för att undvika sammanblandning.
Resultat
|
|
Employee |
Address |
Bill | New York |
John | Miami |
Steve | Chicago |
Exempel 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;
where-satsen innehåller not: where not Exists (Employee).
Detta innebär att enbart namnen från tabellen Citizens som inte finns i Employees laddas in i den nya tabellen.
Observera att det finns två värden för Lucy i tabellen Citizens, men att endast ett inkluderas i resultattabellen. När du laddar den första raden med värdet Lucy inkluderas det i fältet Employee. När den andra raden kontrolleras finns alltså redan värdet.
Resultat
Employee |
Address |
Mary |
London |
Lucy | Madrid |
Exempel 5
Det här exemplet visar hur du laddar alla värden.
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;
För att hämta alla värden för Lucy ändrades två saker:
-
En tidigare laddning i tabellen Employees infogades där Employee döptes om till Name.
Load Employee As Name;
-
Where-villkoret i Citizens ändrades till:
not Exists (Name, Employee).
Det skapar fält för Name och Employee. När den andra raden med Lucy kontrolleras finns den fortfarande inte i Name.
Resultat
Employee |
Address |
Mary |
London |
Lucy | Madrid |
Lucy | Paris |