BigQueryのクエリで連続した日付の配列を作成する
下記のトランザクションテーブルではconutry毎にdateの種類がバラバラです。 2023-02-10〜2023-02-14の4日間の内、dateがないレコードにdateとuu(0)を設定して、レコードを作成したいと思います
dataset.table
GENERATE_DATE_ARRAYで日付の配列を作成して、配列を使用して0で穴埋めをします
SELECT IFNULL(b.country, a.country) AS country, IFNULL(b.date, a.date) AS date, IFNULL(b.uu, 0) AS uu FROM ( SELECT country, date FROM `dataset.table` ), UNNEST(GENERATE_DATE_ARRAY('2023-02-10','2023-02-14', INTERVAL 1 DAY)) AS date ) a LEFT JOIN `dataset.table` b ON a.country = b.country AND a.date = b.date ORDER BY country, date
クエリ結果
コメント
コメントを投稿