|
| 1 | +def dim_fiscal_month_insert_template() -> str: |
| 2 | + return """WITH DistinctMonths AS ( |
| 3 | + SELECT |
| 4 | + MonthStartKey = CONVERT( |
| 5 | + int, |
| 6 | + CONVERT( |
| 7 | + varchar(8), |
| 8 | + FiscalCurrentMonthStart, |
| 9 | + 112 |
| 10 | + ) |
| 11 | + ), |
| 12 | + MonthEndKey = CONVERT( |
| 13 | + int, |
| 14 | + CONVERT( |
| 15 | + varchar(8), |
| 16 | + FiscalCurrentMonthEnd, |
| 17 | + 112 |
| 18 | + ) |
| 19 | + ), |
| 20 | + CompanyHolidaysInMonth = SUM(CompanyHolidayFlag * 1), |
| 21 | + USPublicHolidaysInMonth = SUM(USPublicHolidayFlag * 1) |
| 22 | + FROM |
| 23 | + dbo.DimDate |
| 24 | + GROUP BY FiscalCurrentMonthStart, FiscalCurrentMonthEnd |
| 25 | +) |
| 26 | +
|
| 27 | +INSERT INTO dbo.DimFiscalMonth |
| 28 | +-- Yank the day-level stuff we need for both the start and end dates from dbo.DimDate |
| 29 | +SELECT |
| 30 | + base.MonthStartKey, |
| 31 | + base.MonthEndKey, |
| 32 | + MonthStartDate = startdate.TheDate, |
| 33 | + MonthEndDate = enddate.TheDate, |
| 34 | + MonthStartISODateName = startdate.ISODateName, |
| 35 | + MonthEndISODateName = enddate.ISODateName, |
| 36 | + MonthStartAmericanDateName = startdate.AmericanDateName, |
| 37 | + MonthEndAmericanDateName = enddate.AmericanDateName, |
| 38 | + MonthName = startdate.FiscalMonthName, |
| 39 | + MonthAbbrev = startdate.FiscalMonthAbbrev, |
| 40 | + MonthStartYearWeekName = startdate.FiscalYearWeekName, |
| 41 | + MonthEndYearWeekName = enddate.FiscalYearWeekName, |
| 42 | + YearMonthName = startdate.FiscalYearMonthName, |
| 43 | + MonthYearName = startdate.FiscalMonthYearName, |
| 44 | + YearQuarterName = startdate.FiscalYearQuarterName, |
| 45 | + Year = startdate.FiscalYear, |
| 46 | + MonthStartYearWeek = startdate.FiscalYearWeek, |
| 47 | + MonthEndYearWeek = enddate.FiscalYearWeek, |
| 48 | + YearMonth = startdate.FiscalYearMonth, |
| 49 | + YearQuarter = startdate.FiscalYearQuarter, |
| 50 | + MonthStartDayOfQuarter = startdate.FiscalDayOfQuarter, |
| 51 | + MonthEndDayOfQuarter = enddate.FiscalDayOfQuarter, |
| 52 | + MonthStartDayOfYear = startdate.FiscalDayOfYear, |
| 53 | + MonthEndDayOfYear = enddate.FiscalDayOfYear, |
| 54 | + MonthStartWeekOfQuarter = startdate.FiscalWeekOfQuarter, |
| 55 | + MonthEndWeekOfQuarter = enddate.FiscalWeekOfQuarter, |
| 56 | + MonthStartWeekOfYear = startdate.FiscalWeekOfYear, |
| 57 | + MonthEndWeekOfYear = enddate.FiscalWeekOfYear, |
| 58 | + MonthOfQuarter = startdate.FiscalMonthOfQuarter, |
| 59 | + Quarter = startdate.FiscalQuarter, |
| 60 | + DaysInMonth = startdate.FiscalDaysInMonth, |
| 61 | + DaysInQuarter = startdate.FiscalDaysInQuarter, |
| 62 | + DaysInYear = startdate.FiscalDaysInYear, |
| 63 | + CurrentMonthFlag = startdate.FiscalCurrentMonthFlag, |
| 64 | + PriorMonthFlag = startdate.FiscalPriorMonthFlag, |
| 65 | + NextMonthFlag = startdate.FiscalNextMonthFlag, |
| 66 | + CurrentQuarterFlag = startdate.FiscalCurrentQuarterFlag, |
| 67 | + PriorQuarterFlag = startdate.FiscalPriorQuarterFlag, |
| 68 | + NextQuarterFlag = startdate.FiscalNextQuarterFlag, |
| 69 | + CurrentYearFlag = startdate.FiscalCurrentYearFlag, |
| 70 | + PriorYearFlag = startdate.FiscalPriorYearFlag, |
| 71 | + NextYearFlag = startdate.FiscalNextYearFlag, |
| 72 | + FirstDayOfMonthFlag = startdate.FiscalFirstDayOfMonthFlag, |
| 73 | + LastDayOfMonthFlag = startdate.FiscalLastDayOfMonthFlag, |
| 74 | + FirstDayOfQuarterFlag = startdate.FiscalFirstDayOfQuarterFlag, |
| 75 | + LastDayOfQuarterFlag = startdate.FiscalLastDayOfQuarterFlag, |
| 76 | + FirstDayOfYearFlag = startdate.FiscalFirstDayOfYearFlag, |
| 77 | + LastDayOfYearFlag = startdate.FiscalLastDayOfYearFlag, |
| 78 | + MonthStartFractionOfQuarter = startdate.FiscalFractionOfQuarter, |
| 79 | + MonthEndFractionOfQuarter = enddate.FiscalFractionOfQuarter, |
| 80 | + MonthStartFractionOfYear = startdate.FiscalFractionOfYear, |
| 81 | + MonthEndFractionOfYear = enddate.FiscalFractionOfYear, |
| 82 | + CurrentQuarterStart = startdate.FiscalCurrentQuarterStart, |
| 83 | + CurrentQuarterEnd = startdate.FiscalCurrentQuarterEnd, |
| 84 | + CurrentYearStart = startdate.FiscalCurrentYearStart, |
| 85 | + CurrentYearEnd = startdate.FiscalCurrentYearEnd, |
| 86 | + PriorMonthStart = startdate.FiscalPriorMonthStart, |
| 87 | + PriorMonthEnd = startdate.FiscalPriorMonthEnd, |
| 88 | + PriorQuarterStart = startdate.FiscalPriorQuarterStart, |
| 89 | + PriorQuarterEnd = startdate.FiscalPriorQuarterEnd, |
| 90 | + PriorYearStart = startdate.FiscalPriorYearStart, |
| 91 | + PriorYearEnd = startdate.FiscalPriorYearEnd, |
| 92 | + NextMonthStart = startdate.FiscalNextMonthStart, |
| 93 | + NextMonthEnd = startdate.FiscalNextMonthEnd, |
| 94 | + NextQuarterStart = startdate.FiscalNextQuarterStart, |
| 95 | + NextQuarterEnd = startdate.FiscalNextQuarterEnd, |
| 96 | + NextYearStart = startdate.FiscalNextYearStart, |
| 97 | + NextYearEnd = startdate.FiscalNextYearEnd, |
| 98 | + MonthStartQuarterlyBurnup = startdate.FiscalQuarterlyBurnup, |
| 99 | + MonthEndQuarterlyBurnup = enddate.FiscalQuarterlyBurnup, |
| 100 | + MonthStartYearlyBurnup = startdate.FiscalYearlyBurnup, |
| 101 | + MonthEndQuarterlyBurnup = enddate.FiscalYearlyBurnup, |
| 102 | + base.CompanyHolidaysInMonth, |
| 103 | + base.USPublicHolidaysInMonth |
| 104 | +FROM |
| 105 | + DistinctMonths AS base |
| 106 | + INNER JOIN dbo.DimDate AS startdate |
| 107 | + ON base.MonthStartKey = startdate.DateKey |
| 108 | + INNER JOIN dbo.DimDate AS enddate |
| 109 | + ON base.MonthEndKey = enddate.DateKey;""" |
0 commit comments