Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

New to QlikSense - lagged value in line chart

Hi All,

Just started QlikSense this week, have a query. I have a line chart of total accounts # where "number of accounts" originated from a particular Quarter (example 2015 Q4, 2016 Q1, 2016 Q2 etc.) is shown per "Month on Book" (0,1,2,3 etc.) . So my line chart is simply below which has two dimensions: QTR_VINTAGE and MOB.

SUM([ACCOUNTS]).

In the Chart, number of accounts originated from a specific vintage is plotted per "Month on Book".

Now my requirement is for Month on Book = 1, I want to show the value from "Month on Book" when 0 which is one point prior. For MOB=0, it should keep the same value. From MOB=1 onwards it should plot one lagged value that is, from (MOB-1).

I can do this easily in Data and load it to show in Chart but I really want to handle this using function/script in Qlik Sense itself. Can you please advise?

Cheers,

Ayan

6 Replies
petter
Partner - Champion III
Partner - Champion III

Could you illustrate what you mean in a spreadsheet? It might be easier to understand the logic that way....

balabhaskarqlik

May be try like this:

ABC:

LOAD * INLINE

[

    CITY, CITY_SALARY

    New York, 12220.56

    Toronto, 1234.56

    Vancouver, 19118.9

];

Temp1:

LOAD *,RowNo() as RN Resident ABC;

Temp2:

LOAD

CITY,

CITY_SALARY,

Peek(CITY_SALARY) as LEAD

Resident Temp1

Order By RN DESC;

Temp3:

LOAD

CITY,

CITY_SALARY,

Peek(CITY_SALARY) as LAG

Resident Temp1

Order By RN ASC;

NoConcatenate

Result:

LOAD CITY,CITY_SALARY,LEAD Resident Temp2;

Inner Join

LOAD CITY,LAG Resident Temp3;

DROP Tables ABC,Temp1,Temp2,Temp3;

Result Table

CITY       CITY_SALARY     LAG      LEAD

New York  12220.56         1234.56

Toronto      1234.56    12220.56 19118.9

Vancouver 19118.9    1234.56    

Check this:

Peek() vs Previous() – When to Use Each

Anonymous
Not applicable
Author

Screenshot 2018-07-29 22.26.53.png

Hi, like this last column D, I need to plot for each column "A" values per MOB on X Axis. The MOB=0 value is plotted without any transformation but MOB=1 onwards it is one value lagged. Hope this clarifies.

Thanks,

Ayan

Anonymous
Not applicable
Author

Hi Bala,

Will try and let you know.

Thanks,

Ayan

Anonymous
Not applicable
Author

Actually, I was also trying to see if there is any direct function I can use in the chart script directly. Because I am anyway creating data outside and feeding into the project. I can always create a lagged variable in data; I am trying to find out if there is a way it can be coded up directly in the chart scripting.

Thanks!

Ayan

Anonymous
Not applicable
Author

Update. I ended up using data load editor. Code below.


NoConcatenate
Temp1:
LOAD
[QTR_VINTAGE],[MOB],sum([ACCOUNTS]) as sum_accounts
Resident SummaryRaw
group by [QTR_VINTAGE],[MOB];

NoConcatenate

OpenActTable:
LOAD *,
Num(if(QTR_VINTAGE = Previous(QTR_VINTAGE), Previous(sum_accounts), sum_accounts),'############') as open_accounts
Resident Temp1
Order by [QTR_VINTAGE],[MOB];

Drop table Temp1;