Qlik Community

Ask a Question

QlikView App Dev

Discussion Board for collaboration related to QlikView App Development.

Announcements
On May 18th at 10AM EDT we will answer your QlikView questions live. REGISTER
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Loading certain records

Hi Community

I'm hoping someone can help me, my QlikView skills are non-existant.  I am tring to load specific records from a table into Qlikview - using the Table below as an example, I want to load only the green highlighted records:

Table:

ID

Sequence

Value

1

1

whatever

1

2

whatever

1

3

whatever

2

1

whatever

2

2

whatever

3

1

whatever

3

2

whatever

3

3

whatever

3

4

whatever

Essentially I need to pull in the Value for each ID in the table with the highest Sequence nunber.  Does anyone have any suggestions please.

Cheers!

1 Solution

Accepted Solutions
Gysbert_Wassenaar

If you're loading from an sql database you can create an sql statement that returns only the records you want. If you have to load from a file then you have to load all records first and then get rid of those you don't need. That would look something like this:

T1:

Load ID, Sequence, Value

from ...somefile...;

right join load ID, max(Sequence) as Sequence

resident T1 group by ID;


talk is cheap, supply exceeds demand

View solution in original post

5 Replies
Gysbert_Wassenaar

If you're loading from an sql database you can create an sql statement that returns only the records you want. If you have to load from a file then you have to load all records first and then get rid of those you don't need. That would look something like this:

T1:

Load ID, Sequence, Value

from ...somefile...;

right join load ID, max(Sequence) as Sequence

resident T1 group by ID;


talk is cheap, supply exceeds demand

View solution in original post

anandathome
Creator
Creator

TEMP:

LOAD * INLINE [

ID,Sequence,Value

1,          1,          3

1,          2,          110

1,          3,          0

2,          1,          120

2,          2,          1          

3,          1,          50

3,          2,          60 

3,          3,          70 

3,          4,          200 

3,          5,          400   

];

Final:

Load ID as ID,

     max(Sequence) as Sequence    

Resident TEMP

group by ID;

Inner Join

Load * resident TEMP;

Drop table TEMP;

anandathome
Creator
Creator

This should solve your problem. Please check and let me know

Not applicable
Author

Hi Gysbert

Thanks for your really quick reply.  I am loading from an SQL dB, I should have said.

I don't pretend to know how that has worked, but it has - thanks a lot.

Cheers!

Not applicable
Author

Hi Anand

Thanks for replying - I don't doubt your solution would have worked but I tried the first response and that has worked for me.

Cheers!