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 |