Qlik Community

Japan

Announcements
Submit your remarkable customer story for the Global Transformation Awards at QlikWorld Denver 2022. SUBMIT A STORY
cancel
Showing results for 
Search instead for 
Did you mean: 
kenjiokamoto
Contributor II
Contributor II

重複削除のやり方

こんにちわ

重複削除のやり方を教えて頂けますでしょうか。

下記のようなデータがあります。

key FLAG

1 A

1 0

2 0

keyが重複していた場合、FLAGが0になっているものを削除し

アウトプットは、下記のようにしたいです。

key FLAG

1 A

2 0

■お願いしたいこと。

①作成は、Qlik Senseでお願いします。

②レポートではなく、ロードスクリプトで解決して頂きたいです。

よろしくお願いいたします。

Labels (2)
1 Solution

Accepted Solutions
hka
Employee
Employee

スクリプトだけ書きます。

TempTable:

LOAD

 Key,

   FLAG

FROM [lib・・・];

TempTable2:

LOAD

*,

if(Key=Peek(Key) and FLAG='0','1','0') as 重複フラグ

Resident TempTable

order by Key,FLAG desc;

NoConcatenate

LOAD

Key,

FLAG

Resident TempTable2

Where 重複フラグ='0';

DROP Tables TempTable,TempTable2;

もうちょっと綺麗になるかもしれません。

View solution in original post

6 Replies
hka
Employee
Employee

スクリプトだけ書きます。

TempTable:

LOAD

 Key,

   FLAG

FROM [lib・・・];

TempTable2:

LOAD

*,

if(Key=Peek(Key) and FLAG='0','1','0') as 重複フラグ

Resident TempTable

order by Key,FLAG desc;

NoConcatenate

LOAD

Key,

FLAG

Resident TempTable2

Where 重複フラグ='0';

DROP Tables TempTable,TempTable2;

もうちょっと綺麗になるかもしれません。

View solution in original post

kentaroWakamatsu
Creator II
Creator II

下記でいけるとおもいます。

LOAD

     Key,

     FLAG

FROM ・・・・・・・・・・・・・

Where Previous(Key)<>Key or FLAG<>0

Order By Key,FLAG desc;

hka
Employee
Employee

Order byはDBの場合は有効ですが、Fileから取り込む場合は使用できないので

一度取り込んでからResidentを使用する必要があります。

Where句の条件を考えると3回ロードではなく、2回ロードで対応可能ですね。

kentaroWakamatsu
Creator II
Creator II

たしかに!

el_aprendiz111
Specialist
Specialist

Hi,

tmp:
LOAD * Inline
[
Key,Flag
1,A
1,0
2,0
]

 
WHERE      not EXISTS (Key)

;

kenjiokamoto
Contributor II
Contributor II
Author

Kawahata様 若松様 Fer様

教えて頂きありがとうございます。

無事できました!

order byはfile読み込みだと出来ないのと降順・昇順というのがあるのを知りませんでした。

いつも勉強になります。