When putting the date dimension together I use PeriodID as the table PK. The field is of type int and is generated by multiplying the Financial Year by 100 and adding the period.
The source table sould offer up all fields to report on Fiscal Year as well as Calendar Year. In the following I have just included the Fiscal Year fields, which tend to be the ones used.
| Field Name | Sample |
|---|---|
| PeriodID | 198001 |
| FIS_Period_Int | 1 |
| FIS_Period_MMM | Jul |
| FIS_Period_MMMYY | Jul-79 |
| FIS_Period_MMMM | July |
| FIS_Period_MMMMYYYY | July 1979 |
| FIS_MonthID | 198001 |
| FIS_Month_Int | 1 |
| FIS_Month_MMM | Jul |
| FIS_Month_MMMYY | Jul-79 |
| FIS_Month_MMMM | July |
| FIS_Month_MMMMYYYY | July 1979 |
| FIS_Month_ForTheMonthEndedDDMMMMYYYY | For the Month Ended 31 July 1980 |
| FIS_Month_AsAtDDMMMMYYYY | As at 31 July 1980 |
| FIS_QtrID | 19801 |
| FIS_Qtr_Int | 1 |
| FIS_Qtr_Q0 | Q1 |
| FIS_Qtr_1stQtr | 1st Qtr |
| FIS_Qtr_FirstQuarter | First Quarter |
| FIS_Qtr_MMMQtr | Sep Qtr |
| FIS_Qtr_MMMMQuarter | September Quarter |
| FIS_Qtr_MMMMYYYYQuarter | September 1979 Quarter |
| FIS_Qtr_ForTheQuarterEndedDDMMMMYYYY | For the Quarter Ended 30 September 1979 |
| FIS_Qtr_AsAtDDMMMMYYYY | As at 30 September 1979 |
| FIS_HalfID | 19801 |
| FIS_Half_Int | 1 |
| FIS_Half_H0 | H1 |
| FIS_Half_6MonthsToMMMM | 6 Months to December |
| FIS_Half_6MonthsToMMMMYYYY | 6 Months to December 1979 |
| FIS_Half_ForTheHalfEndedDDMMMMYYYY | For the Half Ended 31 December 1979 |
| FIS_Half_AsAtDDMMMMYYYY | As at 31 December 1979 |
| FIS_YearID | 1980 |
| FIS_Year_Int | 1980 |
| FIS_Year_FY00 | FY80 |
| FIS_Year_ForTheYearEndedDDMMMMYYYY | For the Year Ended 30 June 1980 |
| FIS_Year_AsAtDDMMMMYYYY | As at 30 June 1980 |
| CAL_Year_Int | 1979 |