Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

How to use expressions as inputs in "for" loop in script?

Hi Everyone,

Can anybody tell me how to use expressions as inputs for "for" loop? For example, I used

for i=num(Addmonths(MaxDate,-12,1)) to num(MaxDate)

------

------

Next i;

which doesn't seem to be working. I also tried using variables like

Let A=num(AddMonths(MaxDate,-12,1));

for i=$(A) to num(MaxDate)

------

------

Next i;

Even the 'Let' function is returning the Null value. Any suggestion would be helpful. Thanks in advance.

4 Replies
swuehl
MVP
MVP

What is MaxDate? A variable or field?

If it's a numeric variable:

Let A=num(AddMonths($(MaxDate),-12,1));


If it's a field, I believe that won't work.

Anonymous
Not applicable
Author

Hi Swuehl,

Thanks for the quick reply,

MaxDate is a field. The actual task I am trying to achieve is Rolling 12 Months data extraction. I am successful in achieving it in UI using set expressions in straight table  as follows,

aggr(SUM({<Year =, Month =, Quarter =, Week =, YearMonth = {">=$(=Date(AddMonths(Max(YearMonth),-12),'YYYYMM'))<=$(=Max(YearMonth))"}>}Current12M),Key),

Here, Key, YearMonth,Current12M are all fields with current12m being the quantity.

Can you help me in using the above set expression in script? I know the set expressions will not work in script, so any suggestions on how to use the same .

Not applicable
Author

Take MaxDate Max(Date) from your Source table then convert it into

Let A= Peek(MaxDate);

Let B=num(AddMonths($(MaxDate),-12,1));

use these variables in the above Script

Regards

John

tamilarasu
Champion
Champion

Hi,


Check the below attachment. Let me know whether this is fine.