Skip to main content
Announcements
See what Drew Clarke has to say about the Qlik Talend Cloud launch! READ THE BLOG
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

load only record with matched value

Hello

If I have a table

IDProcessResult
1234SMT1NG
1234SMT1OK
5645SMT2OK
9235SMI1OK
6224SMT2OK
5645SMT1OK
6224SMT1OO

For a group of records with same ID and process, I want to keep only the record which has result= NG.

For example in the above table, for ID =1234 and process=SMT1, there are two records with different result.

I just want to keep the only record which ID=1234, process=SMT1 and result=NG.

How can I do it?

Thanks,

Josh

1 Solution

Accepted Solutions
maxgro
MVP
MVP

And what about the result <> NG?

Keep or remove?

1.png

Q:

LOAD ID,

     Process,

     Result

FROM

[https://community.qlik.com/thread/250389]

(html, codepage is 1252, embedded labels, table is @1);

Left Join (Q)

load ID, Process, sum(if(Result='NG', 1, 0)) as NGCount

Resident Q

group by ID, Process;

QQ:

NoConcatenate load *

Resident Q

Where (NGCount=1 and Result='NG') or NGCount=0;

DROP Table Q;

View solution in original post

4 Replies
aarkay29
Specialist
Specialist

Load*

From

     DB

Where

     Match(Result,'NG');

maxgro
MVP
MVP

And what about the result <> NG?

Keep or remove?

1.png

Q:

LOAD ID,

     Process,

     Result

FROM

[https://community.qlik.com/thread/250389]

(html, codepage is 1252, embedded labels, table is @1);

Left Join (Q)

load ID, Process, sum(if(Result='NG', 1, 0)) as NGCount

Resident Q

group by ID, Process;

QQ:

NoConcatenate load *

Resident Q

Where (NGCount=1 and Result='NG') or NGCount=0;

DROP Table Q;

Anonymous
Not applicable
Author

but, that will filter out all other records.

I want the table become:

IDProcessResult
1234SMT1NG
5645SMT2OK
5645SMT1OK
6224SMT2OK
6224SMT1OO
9235SMI1OK
aarkay29
Specialist
Specialist

Try this expression in the script


If(ID=peek(ID),

    If(Process=peek(Process),

          If(Result='NG',Result),

    Result),

Result) as Result;