You are on page 1of 2

TEMP:

LOAD Max(MaxDate) AS MaxDate


FROM
[Source QVDs SIM\DIM_minmax_date.qvd]
(qvd);

/**********************Select Min and Max Date from 'TEMP' Table*************/


LET varMinDate = Num(MakeDate(2008,04,01)); //Num(peek('MinDate', 0, 'TEMP'));
LET varMaxDate = Num(peek('MaxDate', 0, 'TEMP'));
LET vToday = Num(today());

DROP TABLE TEMP;

//LET varMinDate = Num(MakeDate(2007,1,1));


//LET varMinDate = Num(MakeDate(2007,1,1));
//LET varMaxDate = Floor(YearEnd(AddMonths(Today(), 24)));
//LET vToday = Num(today());

//*************** Temporary Calendar ***************


TempCalendar:
LOAD
$(varMinDate)+IterNo()-1 AS Num,
Date($(varMinDate)+IterNo()-1) AS TempDate
AUTOGENERATE 1 WHILE $(varMinDate)+IterNo()-1<= $(varMaxDate);

//*************** Master Calendar ***************


MasterCalendar:
LOAD TempDate AS [Posting Date],
TempDate AS %Date,
YearName(TempDate,0,4) AS FinancialYear,
Date(Yearstart(TempDate,0,4)) AS YearStart,
Date(Yearend(TempDate,0,4)) AS YearEnd,
Num(Date(Yearstart(TempDate,0,4),'YYYY')) AS FinancialYearNo,
date(MonthStart(TempDate),'MMM-YY') AS MonthYear,
Month(TempDate) AS MonthName,
If(Num(Month(TempDate))>3,Num(Month(TempDate))-3,Num(Month(TempDate))+9) AS
MonthNumber,
MonthStart(TempDate) AS MonthStart,
MonthEnd(TempDate) AS MonthEnd,
Year(TempDate) AS Year,
'Q' &
alt(if(Month(TempDate)<4,4),if(Month(TempDate)<7,1),if(Month(TempDate)<10,2),3) AS
Quarter,
quarterstart(TempDate,0,4) AS QuarterStart,
quarterend(TempDate,0,4) AS QuarterEnd,
quartername(TempDate,0,4) AS QuarterName,
if(Num(Month(TempDate))>3,Year(TempDate)+1,Year(TempDate)) AS FiscalYear,
AutoNumber(Month(TempDate) & Year(TempDate)) AS Sequential,
NUM(TempDate) AS DateNum,
monthname(TempDate) AS CalMonthYear,
Day(TempDate) &'-'& Date(TempDate,'MMM') AS DayMon,
num(Year(TempDate)&num(Month(TempDate),'00')) as YEAR_MONTH, // Link between
tables for previous month / year selection
num((Year(TempDate)-1)&num(Month(TempDate),'00')) AS YEAR_MONTH_PREVIOUS, //
Link between tables for previous month / year selection
num((Year(TempDate)-2)&num(Month(TempDate),'00')) AS P_YEAR_MONTH_PREVIOUS

RESIDENT TempCalendar
ORDER BY TempDate Asc;

DROP Table TempCalendar;

You might also like