Skip to content

Commit d30b5bd

Browse files
fix: Updated timezone config
1 parent c33dfb9 commit d30b5bd

File tree

3 files changed

+114
-2
lines changed

3 files changed

+114
-2
lines changed

requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
pytz==2021.3

src/awesome_date_dimension/config.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
from dataclasses import asdict, dataclass, field
2-
from datetime import date, datetime
2+
from datetime import date, datetime, tzinfo
33
from pathlib import Path
44
from typing import Callable
55

6+
from pytz import timezone
7+
68

79
@dataclass(frozen=True)
810
class DateRange:
@@ -1407,7 +1409,7 @@ class Config:
14071409
clear_output_dir: bool = False
14081410
date_range: DateRange = field(default_factory=DateRange)
14091411
fiscal: FiscalConfig = field(default_factory=FiscalConfig)
1410-
time_zone: str = "Mountain Standard Time"
1412+
time_zone: tzinfo = field(default_factory=lambda: timezone("US/Mountain"))
14111413
holidays: HolidayConfig = field(default_factory=HolidayConfig)
14121414
dim_date: DimDateConfig = field(default_factory=DimDateConfig)
14131415
dim_fiscal_month: DimFiscalMonthConfig = field(default_factory=DimFiscalMonthConfig)
Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
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

Comments
 (0)