📅

BigQueryで月曜はじまりの週ごとに集計する

2022/03/01に公開

週ごとに集計する際は、その日付が含まれる週の頭の日付に変換(切り捨て)するためにdate_trunc(日付, week)を使います。
デフォルトだと日曜始まり土曜終わりの週に変換されますが、この開始曜日は任意の曜日に変更できます。
月曜始まりの場合はdate_trunc(日付, week(monday))です。

例:2022/03/01(火)→02/28(月)

select
  date as original,
  date_trunc(date, week(monday)) as truncated
from (select date('2022-03-01') as date)
;

+------------+------------+
| original   | truncated  |
+------------+------------+
| 2022-03-01 | 2022-02-28 |
+------------+------------+

参考:
https://cloud.google.com/bigquery/docs/reference/standard-sql/date_functions#date_trunc

Discussion