Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
I've been trying all day to create YTD perios in order to create a chart showing figures compared over the current year period. I'm used to having YTD's in my data and simply adding them to my chart in Excel but in Qlik, I can't seem to work this out.
Below is how I would have it created in Excel:
This makes an easy year on year comparison possible.
But how can I get ytd's and add them to a grouped bar chart like above AND have these refreshed automatically upon a new data load?
I' ve been puzzling with expressions for dimensions in the chart but that didn't work out, I tried to add a variable containing the YTD (add wanting to add YTD-1 and YTD-2 later on).
Just create an appropriate YTD flag within the calendar, for example like:
-(daynumberofyear(DateField)<=daynumberofyear(today())) as YTD
and then you could use year as dimension in the chart and an expression like:
sum({< YTD = {1}>} Value)
I don't have the option to create these in most of the apps/dashboards but I can for my own apps.
I was able to create what I wanted for a separate chart (but doing so for each individual chart is not very efficient):
using this set analysis expression:
Sum({$<[%VL_Jaar]={"$(=Year(Today()))"}, [%VL_Maand]={"<=$(=num(Month(Today())))"}, [%VL_Dag]=,[%VL_Datum]=,[%VL_Jaarmaand]=,%VL_> }[ATNL_GRC statushouders PP+vbt])
(and adjusting %VL_Jaar for YTD-1 and YTD-2 with Year(Today()-1) and Year(Today()-2))
A single calendar for ALL applications is enough - and then each other application just picked the wanted fields and periods. It couldn't be more simple.
of course that would be the best. I will ask the IT department if its possible to get these.
For now, I need to make them myself. YTD's can be added, though I want to add the year name to the description as 5 ytd's are possible (I have max 5 years of date).
this is what I use for the YTD now:
Sum({<[%VL_Jaar]={"$(=Year(Today()))"}, [%VL_Maand]={"<=$(=num(Month(Today())))"}, [%VL_Dag]=,[%VL_Datum]=,[%VL_Jaarmaand]=> }[ATNL_GRC statushouders PP+vbt])
(and adjusting the year number for each ytd)
I have been trying to get MAT's in the same chart. However am I running in some trouble. I created the expression below:
<[%VL_Jaarmaand]={">=$(=(Year(Today())-1)*100+(Month(Today())))<=$(=(Year(Today())*100+Month(Today())-1))"}
Where the expression seems to be correct:
but doesn't return anything (nothing in purple here):
Is there something missing in the set analysis?
edit: Found it. I've loaded the %VL_JaarMaand with a dash between year and month. I removed that from the load script and now the MAT functions are working as expected:
Although I was told I could easily achieve almost the same for every month in a chart using the accumulate option for the measure/bar height and '12 steps':
In this set analysis you create numeric periods of YYYYMM which are not reflecting a YTD approach else it goes to rolling periods of the last 12 months ...
You may consider to transfer the above suggested YTD creation-logic into the UI, maybe with something like:
if(daynumberofyear(DateField)<=daynumberofyear(today()), sum(MyValue))
and then using the year-field as dimension.
I will look into it.
I know, it made a split between YTD and MAT. The rolling 12 months is for the moving annual total I also wanted.