Skip to main content
Announcements
Introducing Qlik Answers: A plug-and-play, Generative AI powered RAG solution. READ ALL ABOUT IT!
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Exists関数の使い方

お世話になっております。

Exists関数の使い方について、ご存知の方いましたらご教示お願いします。

やりたいことは、ロードスクリプトで読み込んだデータを別テーブルとして出力し

その際、すでに出力済みのデータは除外したい(存在しないデータだけを登録したい)のです。

具体的なロジックは以下のとおりです。

// 1~20までのIDが入っている

test1:

LOAD @1 as numID

FROM

load1.txt

(txt, codepage is 932, no labels, delimiter is '\t', msq);

// 1~25までのIDが入っている

test2:

NoConcatenate LOAD @1 as numID

FROM

load2.txt

(txt, codepage is 932, no labels, delimiter is '\t', msq);

// test1から、test中間テーブルを作成する

// なので、1~20までが登録される

test:

NoConcatenate LOAD numID resident test1;

// test2から、testテーブルへ登録する。 その際、存在しないnumIDだけを登録しているつもり

// 1~20は登録済みなので、21~25までを登録したい。

Concatenate LOAD numID Resident test2

where not Exists(numID);

結果的にはtestテーブルには1~20までしか登録できていません。

何が間違っているのでしょうか??

Labels (1)
1 Solution

Accepted Solutions
hka
Employee
Employee

以下のように行えば登録できます。

ヘルプでQVDの増分ロードを参照してみてください。

test1:
LOAD NumID
FROM
sample1206.xlsx
(ooxml, embedded labels, table is Sheet3);

Concatenate(test1)
LOAD NumID
FROM
sample1206.xlsx
(ooxml, embedded labels, table is Sheet4)
where not exists(NumID);

View solution in original post

2 Replies
hka
Employee
Employee

以下のように行えば登録できます。

ヘルプでQVDの増分ロードを参照してみてください。

test1:
LOAD NumID
FROM
sample1206.xlsx
(ooxml, embedded labels, table is Sheet3);

Concatenate(test1)
LOAD NumID
FROM
sample1206.xlsx
(ooxml, embedded labels, table is Sheet4)
where not exists(NumID);

Not applicable
Author

回答、ありがとうございます。

確認することができました。

しかしながら、一度読み込んだテーブルを利用する場合にはできないようです。。