added missing logic to etl_region_movAverage

main
mmaurostoffel 2025-01-13 23:06:42 +01:00
parent cd66207bc7
commit d436c5d892
2 changed files with 17 additions and 0 deletions

View File

@ -527,3 +527,11 @@ class Database:
properties.seed_id = {region_id_2})
""")
def unique_scrapeDates(self):
return self.connection.sql(f"""
SELECT DISTINCT
strftime(extractions.created_at, '%Y-%m-%d') AS ScrapeDate,
FROM
consultancy_d.extractions
""")

View File

@ -18,6 +18,12 @@ def region_movingAverage(id: int, scrape_date_start_min: str):
# Filter Setting
windowSize = 7
# Get unique ScrapeDates
uniqueScrapeDates = d.unique_scrapeDates().pl()
uniqueScrapeDates = uniqueScrapeDates.get_column('ScrapeDate').str.to_date()
uniqueScrapeDates = uniqueScrapeDates.sort().to_list()
# String to Date
scrape_date_start_min = datetime.strptime(scrape_date_start_min, '%Y-%m-%d')
@ -26,6 +32,9 @@ def region_movingAverage(id: int, scrape_date_start_min: str):
# Get start and end date of End search-window
scrape_date_end_min = scrape_date_start_min + timedelta(days=timeOffset)
# Get closest ScrapeDate
scrape_date_end_min = min(uniqueScrapeDates, key=lambda x: abs(x - scrape_date_end_min.date()))
scrape_date_end_max = scrape_date_end_min + timedelta(days=1)
final_end_date = scrape_date_end_min + timedelta(days=calcFrame)