例 1
Exists
(Employee)
現在のレコード内の項目 Employee の値が、その項目を含む読み取り済みのレコード内にすでに存在してれば、-1 (True) を返します。
ステートメント Exists (Employee, Employee) と Exists (Employee) は同じ働きをします。
例 2
Exists(Employee,
'Bill')
項目値 'Bill' が項目 Employee の現在のコンテンツに含まれていれば、-1 (True) を返します。
例 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;
この結果は、Employee 軸と Address 軸を使用してテーブル ビジュアライゼーションで使用できるテーブルとなります。
where 節 where Exists (Employee) は、テーブル Citizens から Employees にも存在する Name のみを新しいテーブルにロードすることを意味します。Drop ステートメントは、混同を避けるためにテーブル Employees を削除します。
結果
|
|
Employee |
Address |
Bill |
New York |
John |
Miami |
Steve |
Chicago |
例 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 節に not が含まれています: where not Exists (Employee)
つまり、テーブル Citizens から Employees に存在しない名前のみが新しいテーブルにロードされます。
Citizens テーブルには Lucy の値が 2 つありますが、結果テーブルに含まれているのは 1 つだけであることに注目してください。値 Lucy を使用して最初の行をロードすると、その行は Employee 項目に含められます。このため、2 行目を確認すると、その値は既に存在しています。
結果
Employee |
住所 |
Mary |
London |
Lucy |
Madrid |
例 5
この例は、すべての値をロードする方法を示しています。
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;
Lucy のすべての値を取得できるようにするために、次の 2 つが変更されました。
-
Employees テーブルへの先行するロードが挿入され、Employee の名前が Name に変更されました。
Load Employee As Name;
-
Citizens の Where 条件は次のように変更されました。
not Exists (Name, Employee).
これにより、Name と Employee の項目が作成されます。Lucy の 2 行目を確認すると、引き続き Name には存在していません。
結果
Employee |
住所 |
Mary |
London |
Lucy |
Madrid |
Lucy |
Paris |