In QlikView, many times we need to create a calendar reference object which can be linked to any data set present in QlikView's memory.
LET vDateMin = Num(MakeDate(2016,1,1));
LET vDateMax = Num(MakeDate(2016,12,31));
TempCalendar:
LOAD
$(vDateMin) + RowNo() - 1 AS DateNumber,
Date($(vDateMin) + RowNo() - 1) AS TempDate
AUTOGENERATE 1
WHILE $(vDateMin)+IterNo()-1<= $(vDateMax);
Calendar:
LOAD
Date(TempDate) AS STANDARTDATE,
AutoNumber(Year(TempDate)&Month(TempDate)&Day(TempDate)) as TIMEKEY,
// Standard Date Objects
Day(TempDate) AS STANDARTMONTHDATE,
WeekDay(TempDate) AS WEEKDAY,
Week(TempDate) AS WEEK,
Month(TempDate) AS MONTH,
'Q' & Ceil(Month(TempDate)/3) AS QUARTER,
Year(TempDate) AS YEAR
RESIDENT TempCalendar ORDER BY TempDate ASC;
DROP TABLE TempCalendar;
LET vDateMin = Null();
LET vDateMax = Null();
From this time dimension table,you can see a Master Calendar which will supply the additional date fields like Quarter, Day etc as required by any data set of 2016.