Мне нужна помощь с частью моего запроса. Я пытаюсь точно рассчитать 2 столбца. В первом столбце я пытаюсь рассчитать номер недели финансового квартала на основе даты звонка. Во втором столбце я хочу агрегировать дату начала и окончания конкретной недели.
Следующий запрос, который я использовал, и он прекрасно работал последние 2 квартала, но теперь он больше не работает должным образом, я полагаю, потому что текущий квартал начался в середине недели во вторник (01.01.2009).
, 1 + TRUNC((CALL_DATE - TRUNC(CALL_DATE, 'Q'))/7) as "Week in Quarter"
, TO_CHAR(TRUNC(CALL_DATE, 'IW'), 'MM/DD/YY') ||' - '|| TO_CHAR(TRUNC(CALL_DATE, 'IW') + 4, 'MM/DD/YY') as "Week Dates"
Для звонков, завершенных в понедельник (07.01.2009), это отражается как «Неделя 1» в столбце «Неделя в квартале», если на самом деле это следует считать «Неделей 2».
Кроме того, столбец «Даты недели» помечает первую неделю квартала как «12/31/18 - 01/04/19», когда вместо этого я хочу, чтобы она была «01/01/19 - 01 /». 04/19' .
Как мне изменить этот код, чтобы он работал для всех финансовых кварталов, независимо от того, в какой день недели начинается квартал? Как будто мне нужен случай, который по-разному рассчитывает первую неделю квартала?