Пользовательский диапазон дат в Teradata SQL

Может ли кто-нибудь помочь мне создать настраиваемый недельный обзор? У меня есть таблица, в которой указаны продажи за каждый день, но я хочу видеть их как сумму за неделю.

У меня проблемы с тем, что мне нужна неделя, чтобы показывать данные с пятницы по четверг.

Я нашел на другом форуме этот код:

CASE WHEN ((Table_date - (000101 (DATE))) + 1) MOD 7 = 6 THEN Table_date + 6
    ELSE   Table_date + (6 - (((Table_date - (000101 (DATE))) + 1) MOD 7+1 )) 
    END AS fri_week_ending_date            

Который может рассчитать дату окончания выходных в пятницу, но кто-нибудь знает, как отрегулировать ее для выходных в четверг? Я перепробовал все варианты, о которых мог догадаться, но мои данные, похоже, не работают. Или, если есть более простой способ создать эти пользовательские просмотры недели, я открыт для любых идей! Спасибо!


person Josh S    schedule 02.08.2017    source источник


Ответы (1)


Ваш существующий расчет слишком сложен.

Там NEXT_DAY, который возвращает следующий будний день:

Next_Day(Table_date-1, 'fri') 

Должен быть Table_date-1, чтобы возвращать ту же дату, когда это пятница.

Просто переключитесь на Next_Day(Table_date-1, 'thu') в четверг :-)

person dnoeth    schedule 02.08.2017