BigQueryで日次、月次のマスターデータを作る

rowデータで日や月に歯抜けがある場合、 group by month などやっても連番にならない可能性があります。
そこで日次、月次のマスターデータを作りそこに紐づける方法をまとめます。

日次のマスターデータを作る

SELECT day
FROM UNNEST(
    GENERATE_DATE_ARRAY(DATE('2022-01-01'), DATE('2022-01-31'), INTERVAL 1 DAY)
) as day

月次のマスターデータを作る

INTERVAL を変えるだけで簡単に作れます。

SELECT month
FROM UNNEST(
    GENERATE_DATE_ARRAY(DATE('2022-01-01'), DATE('2022-01-31'), INTERVAL 1 MONTH)
) as month