新しいことにはウェルカム

技術 | 電子工作 | ガジェット | ゲーム のメモ書き

Google BigQueryでカレンダーテーブルを作る方法

日付で飛び飛びなデータを集計する時には、カレンダーテーブルが欲しくなることがあります。

Google BigQueryでカレンダーテーブルを作る方法

Google BigQueryでは下記でカレンダーテーブルを作成できます。

  • 「GENERATE_DATE_ARRAY()」でカレンダー配列が作れるので、「UNNEST()」で配列を行に展開してテーブル化します。
SELECT
    *
FROM
    UNNEST(
        GENERATE_DATE_ARRAY(
            '2019-01-01',
            '2019-12-31',
            INTERVAL 1 DAY)
    ) AS date
)

INTERVAL <INT> <DATE_PART>で日付間隔を変えれます。

例えば、毎月1日のカレンダーが欲しい場合は「INTERVAL 1 MONTH」とします。

上記例の引数「INTERVAL 1 DAY」はデフォルト値なので、書かなくても構いません。