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

Announcements
Qlik Open Lakehouse is Now Generally Available! Discover the key highlights and partner resources here.
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

FirstSortedValue Question

Hi All,

I have a list of customer transactions with columns say Date, Customer ID, Sales Value, Statement Balance etc. For each client, I will have multiple transactions, and sometimes multiple transactions on the same day. In my load script, I have sorted in ascending order Customer ID and then Date.

I am trying to prepare a straight table to Statement balance for each customer. Can anyone assist with the expression I could use in such a table. Firstsortedvalue wont work because there will be multiple transactions for a given client on the same day.

Thank u.

H

17 Replies
Not applicable
Author

Peek function would work, can you illustrate how I would use it?

Not applicable
Author

Its the last customer entry for that customer ID. Data has already been sorted, so the last transaction will be ok

manuelreimitz
Partner - Contributor III
Partner - Contributor III

BaseData2:

LOAD

     _customerid as customerid,

     _date as date,     

     _value value,

     if(_customerid <> peek('customerid'), 1, 0) as laststateflag

RESIDENT BaseData1

ORDER BY _customerid asc, _date desc;

LastState:

LOAD

     customerid,

     date as laststatedate,

     value as laststate

RESIDENT BaseData2

WHERE laststateflag = 1;

anbu1984
Master III
Master III

If data is already sorted in descending order, then try LastValue()

LOAD CustomerID,LastValue(TransactionID) As TransactionID,LastValue(CustomerBalance) As CustomerBalance,

LastValue(Date) As Date Group by CustomerID;

lOAD * Inline [

Date,CustomerID,TransactionID,CustomerBalance

1-Jan-14,Cus - 00,111,0

2-Jan-14,Cus - 00,212,5

3-Jan-14,Cus - 00,301,8

4-Jan-14,Cus - 00,432,5

4-Jan-14,Cus - 00,523,0

6-Jan-14,Cus - 01,645,5

7-Jan-14,Cus - 01,767,10

9-Jan-14,Cus - 01,843,15

9-Jan-14,Cus - 01,934,20

9-Jan-14,Cus - 01,102,15

11-Jan-14,Cus - 01,115,18

12-Jan-14,Cus - 02,128,20

13-Jan-14,Cus - 02,130,5 ];

jyothish8807
Master II
Master II

right, so peek bydefault fetch last entries.So i guess you have to group it with customer ID, so that you can get last entries.

Regards

KC

Best Regards,
KC
Not applicable
Author

Hi Manuel,

I think this is getting closer to what I need. Unfortunately the last state flag is coming up as 1 on all the transactions. My customer ID's are alphnumeric eg V126958. Will this affect the ordering?

Thanks

H

anbu1984
Master III
Master III

Did you try LastValue()?

Not applicable
Author

Many thanks, that was the magical bullet!!!!