Skip to main content
Announcements
Qlik Introduces a New Era of Visualization! READ ALL ABOUT IT
cancel
Showing results for
Search instead for
Did you mean:
Partner - Contributor III

Get Previous Values

Hi Everyone,

I have the sample data below and i would like to get the Previous Value Column,

For each Quarter, get the value of the previous one, either in the script or in the chart

Thank's in Advance

1 Solution

Accepted Solutions
Partner - Contributor III
Author

Thank you everyone for your reponses, but all the solutions provided are not working.

I have tried this solution, to get Previous Data in a separate table and join it to my original table using a new generated key and playing with the quarter number.

PREVIOUS_DATA:

Load

'Q'&num(SubField(Quarter,'Q',2)+1) &'-'&DIM1&'-'&DIM2&'-'&DIM3    as Key_quarter,

Sum(PRIMES) as PrevPRIMES

resident MyTable

Group by Quarter,DIM1,DIM2,DIM3;

It worked perfectly.

Thank's Again.

13 Replies
Champion III

Try this in your Straight table expr

= IF(RowNo(TOTAL) = 1 OR RowNo(TOTAL) =2, 0, Above(TOTAL Sum(Value),2))

Specialist II

SCRIPT:

LOAD

VALUE

PEEK(VALUES) AS PREVIOS VALUE

RESIDENT YOURTABLE

ORDER BY

ASC VALUE;

Partner - Contributor III
Author

Hello,

Thank you for your reply

This is the result i get when applying your formula.

Note please that in my final Table i won't need the Quarter anymore.

Thank you very much

Champion III

Ok, is that not your expected output? if not what should be your expected output please let us know.

Partner - Contributor III
Author

Actually the Expected Result is:

 Quarter DIM1 DIM2 DIM3 PRIMES Prev Q1 D1 DD1 DD1 10 Q2 D1 DD1 DD2 20 10 Q3 D1 DD1 DD3 30 20 Q4 D1 DD1 DD4 60 30 Q1 D2 DD2 DD5 100 Q2 D2 DD2 DD6 200 100 Q3 D2 DD2 DD7 300 200 Q4 D2 DD2 DD8 400 300

Thank you

Can you do this?

Aggr(Above(Sum(PRIMES)), DIM1)

Best Anil, When applicable please mark the correct/appropriate replies as "solution" (you can mark up to 3 "solutions". Please LIKE threads if the provided solution is helpful
Anonymous
Not applicable

try this on your Previous Field expression in straight table..

aggr(above( aggr(PRIMES,DIM1,Quarter)),DIM1,Quarter)

Partner - Champion III

How about this:

LOAD Quarter,

DIM1,

DIM2,

DIM3,

PRIMES,

If(AutoNumberHash256(DIM1, DIM2, DIM3)

= Previous(AutoNumberHash256(DIM1, DIM2, DIM3)),

Previous(PRIMES)

) as Prev

FROM  ....

ORDER BY DIM1, DIM2, DIM3, Quarter

Logic will get you from a to b. Imagination will take you everywhere. - A Einstein
Anonymous
Not applicable

aggr(above( aggr(PRIMES,DIM1,Quarter)),DIM1,Quarter)

Community Browser