본문 바로가기
분석/데이터분석

[BigQuery] 연속된 일자 생성하기

by 여우요원 2023. 10. 10.

 

빅쿼리에서는 generate_date_array 라는 함수를 사용하면, 일련의 날짜 데이터에 대한 배열을 결과 값으로 얻을 수 있다.

 

이를 응용하면, 

특정 기간안에 주별 데이터(주별 시작일, 연도, 주넘버)를 구하여 여러 쿼리에 활용할 수 있다.

 

declare from_date, to_date date;

set from_date = date_sub('2023-01-01', interval 375 day);
set to_date = '2023-12-31';

select date_trunc(date(base_dt), week(sunday)) as current_dd
  , format_date('%Y', base_dt) as week_year
  , format_date('%U', base_dt) as week_num
from unnest(generate_date_array(from_date, to_date, INTERVAL 1 WEEK)) base_dt
order by 1 desc

위 쿼리는 주어진 시작 날짜의 1년전 부터 종료 날짜 기간 사이의 주별 데이터를 출력한다.