Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Posting on Qlik Community is temporarily paused for some users. Thank you for patience and we'll update you soon!
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Get Latest 5 Records

Dear All,

Need help in getting Latest 5 Records.

I have table with data something like below.

LeadIDNotesDateUniqueid
1Site Visit01-Mar-20171

2

Agreed01-Mar-20172
3Agreed01-Mar-20173
1Test02-Mar-20174
1Test203-Mar-20175
1Test304-Mar-20176
1Test405-Mar-20177
1Test506-Mar-20178
1Test607-Mar-20179
2Site10-Mar-201710
2Site11-Mar-201711
3Agreed05-May-201712
3Agreed10-May-201713

I want the latest 5 Records Output will be something like below.

LeadIDNotesDateUniqueid
1Test607-Mar-20179
1Test506-Mar-20178
1Test405-Mar-20177
1Test304-Mar-20176
1Test203-Mar-20175
2Site11-Mar-201711
2Site10-Mar-201710
2Agreed01-Mar-20172
3Agreed10-May-201713
3Agreed05-May-201712
3Initiated01-Mar-20173

Kindly help me with this.

Regards,

Keerthi KS

Labels (1)
7 Replies
qlikview979
Specialist
Specialist

Hi keerti,

do like this

T1:

LOAD * Inline [

LeadID, Notes, Date, Uniqueid

1, Site Visit, 01-Mar-2017, 1

2 ,  Agreed ,01-Mar-2017 ,2

3 ,Agreed ,01-Mar-2017 ,3

1 ,Test ,02-Mar-2017 ,4

1 ,Test2 ,03-Mar-2017 ,5

1 ,Test3 ,04-Mar-2017 ,6

1 ,Test4 ,05-Mar-2017 ,7

1 ,Test5 ,06-Mar-2017 ,8

1 ,Test6 ,07-Mar-2017 ,9

2 ,Site ,10-Mar-2017 ,10

2 ,Site ,11-Mar-2017 ,11

3 ,Agreed ,05-May-2017 ,12

3 ,Agreed ,10-May-2017 ,13

];

NoConcatenate

T2:

First 5

LOAD LeadID,

Notes,

Date,

Uniqueid

Resident T1    Order by Uniqueid  desc ;

DROP Table T1;

qlikview979
Specialist
Specialist

As Per Uniqueid

latest 5 result

Untitled.png

qlikview979
Specialist
Specialist

If you want latest 10, replace 10 instead 5 in second(T2) table.

Not applicable
Author

Dear Mahesh,

I need latest 5 Records for each LeadID. I have to group by LeadID. Each leadID should have latest 5 records.

Please let me know if you need any other details.

Regards,

Keerthi KS

Digvijay_Singh
MVP
MVP

Check this -

Capture.PNG

Kushal_Chawda
MVP
MVP

try this

T1:

LOAD *,Date#(Date,'DD-MMM-YYYY') as DATE Inline [

LeadID, Notes, Date, Uniqueid

1, Site Visit, 01-Mar-2017, 1

2 ,  Agreed ,01-Mar-2017 ,2

3 ,Agreed ,01-Mar-2017 ,3

1 ,Test ,02-Mar-2017 ,4

1 ,Test2 ,03-Mar-2017 ,5

1 ,Test3 ,04-Mar-2017 ,6

1 ,Test4 ,05-Mar-2017 ,7

1 ,Test5 ,06-Mar-2017 ,8

1 ,Test6 ,07-Mar-2017 ,9

2 ,Site ,10-Mar-2017 ,10

2 ,Site ,11-Mar-2017 ,11

3 ,Agreed ,05-May-2017 ,12

3 ,Agreed ,10-May-2017 ,13

];

T2:

NoConcatenate

LOAD *,

     AutoNumber(DATE,LeadID) as Sequence

Resident T1

Order by LeadID,DATE desc;

DROP Table T1;

Final:

NoConcatenate

LOAD *

Resident T2

where Sequence<=5;

DROP Table T2;

jagan
Partner - Champion III
Partner - Champion III

Hi Keerthi,

Try like this

Script: Sample Data

Temp:

LOAD * Inline [

LeadID, Notes, Date, Uniqueid

1, Site Visit, 01-Mar-2017, 1

2 ,  Agreed ,01-Mar-2017 ,2

3 ,Agreed ,01-Mar-2017 ,3

1 ,Test ,02-Mar-2017 ,4

1 ,Test2 ,03-Mar-2017 ,5

1 ,Test3 ,04-Mar-2017 ,6

1 ,Test4 ,05-Mar-2017 ,7

1 ,Test5 ,06-Mar-2017 ,8

1 ,Test6 ,07-Mar-2017 ,9

2 ,Site ,10-Mar-2017 ,10

2 ,Site ,11-Mar-2017 ,11

3 ,Agreed ,05-May-2017 ,12

3 ,Agreed ,10-May-2017 ,13

];

Final:

NoConcatenate

LOAD

*,

If(Peek(LeadID) = LeadID, Peek(Order) + 1, 1) AS Order

RESIDENT Temp

ORDER BY LeadID, Date DESC;

DROP TABLE Temp;

Straight Table:

Dimension: LeadID, Notes, Date, UniqueID

Expression: =Only({<Order={'<=5'}>}Order)

Please find attached file for solution.

Regards,

jagan.