Как рассчитать начало финансовой недели с даты в SQL

#sql #database #date #snowflake-cloud-data-platform

#sql #База данных #Дата #снежинка-облако-платформа для передачи данных

Вопрос:

У меня есть файл .csv, в котором есть два столбца даты. День, который является просто датой, и неделя (Fscl) , которая является датой начала недели.

Пример одной недели из файла .csv:

Неделя (Fscl) День
2021-11-22 2021-11-13
2021-11-22 2021-11-14
2021-11-22 2021-11-15
2021-11-22 2021-11-16
2021-11-22 2021-11-17
2021-11-22 2021-11-18
2021-11-22 2021-11-19

Обычно я рассчитываю начало недели с помощью date_trunc функции, но результаты полностью отличаются от того, что я получаю от .csvs:

Неделя (Fscl) День date_trunc(«неделя», день)
2021-11-22 2021-11-13 2021-11-08
2021-11-22 2021-11-14 2021-11-08
2021-11-22 2021-11-15 2021-11-15
2021-11-22 2021-11-16 2021-11-15
2021-11-22 2021-11-17 2021-11-15
2021-11-22 2021-11-18 2021-11-15
2021-11-22 2021-11-19 2021-11-15

Мне интересно, какова логика финансовой недели и почему даты между 2021-11-13 и 2021-11-19 относятся к номеру недели 47 ( 2021-11-22 2021-11-28 ). Можно ли воспроизвести эту логику в SQL? Предпочтительно Снежинка SQL

Комментарии:

1. Это ваши данные. Мы не можем сказать вам, почему 22 ноября вообще имеет какое-либо отношение к 8 ноября. Для меня это тоже не имеет смысла. Возможно, если у вас есть больше примеров данных, из которых мы можем вывести какой-то шаблон, мы сможем вам помочь.

2. Спросите владельца этих данных, что на самом деле указывают эти два столбца и правильно ли они рассчитаны.

3. Понял, я предположил, что финансовый календарь-это какой-то странный календарь вроде nrf454, где недели нумеруются по-разному.