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: 
nithin_miryala
Creator
Creator

Rolling 12 Months Flag not working.

Hi Everyone,

I need to create a flag in the Data modal for Rolling 12 months with respect to Current Quarter start.

So to test the expression i have wrote it in a list box and the logic feels correct to me and i connot figure what is wrong here,

Expression:

if(date(MonthYear)>=Addmonths(QuarterStart( Max(MonthYear)),-12) and date(MonthYear)<QuarterStart( Max(MonthYear)) ,1,0)

According to expression all the Dates between 10/1/2016 and 10/1/2017 should be 1 and rest of them should be 0

Capture.JPG

I have also attached the Test application.

Please kindly let me know you thoughts.

Thanks

Nithin

1 Solution

Accepted Solutions
sunny_talwar
MVP
MVP

Try this

=if(date(MonthYear)>=Addmonths(QuarterStart( Max(TOTAL MonthYear)),-12) and date(MonthYear)<QuarterStart( Max(TOTAL MonthYear)) ,1,0)

Since list box has MonthYear as dimension, the Max(MonthYear) = MonthYear.... to get Max MonthYear across all MonthYear, you need to use TOTAL Qualifier.

View solution in original post

6 Replies
sunny_talwar
MVP
MVP

Try this

=if(date(MonthYear)>=Addmonths(QuarterStart( Max(TOTAL MonthYear)),-12) and date(MonthYear)<QuarterStart( Max(TOTAL MonthYear)) ,1,0)

Since list box has MonthYear as dimension, the Max(MonthYear) = MonthYear.... to get Max MonthYear across all MonthYear, you need to use TOTAL Qualifier.

nithin_miryala
Creator
Creator
Author

Good one .

Thanks

nithin_miryala
Creator
Creator
Author

i tried to write the expression in backend in the following manner.

CalendarMax=10/1/2017

if(DOSDateDT>=Addmonths(QuarterStart( $(CalendarMax)),-12) and DOSDateDT<QuarterStart( $(CalendarMax)) ,1,0) as Rolling12Flag

but still the column returns 0.

Any suggestions?

sunny_talwar
MVP
MVP

Try with adding single quotes around your variable

if(DOSDateDT>=Addmonths(QuarterStart('$(CalendarMax)'),-12) and DOSDateDT<QuarterStart('$(CalendarMax)') ,1,0) as Rolling12Flag

nithin_miryala
Creator
Creator
Author

Thanks a lot. I missed it

sunny_talwar
MVP
MVP

No problem at all