この記事が解決できること
- 特定曜日の週の集計をする方法がわかる
はじめに
週単位の分析をする際、特定の曜日始まりで集計をする方法を紹介します。
Looker Studioで週を括る方法は2つあります。ディメンションをISO週(月曜始まり)に変換するか、EXTRACT関数を使って日曜日始まりの週ナンバーを抽出する方法です。
日曜か月曜始まりであればほとんどの場合問題なさそうですが、例えば百貨店では水曜始まりの催事があるため、水曜を起点とした分析をしたい場合もあるかもしれません。
ともあれ分析者側で特定曜日でスタートさせる方法を知っておくことは損ではありません。それでは早速設定方法を紹介します。
特定曜日の週を作成する計算フィールド
方法は簡単で、計算フィールドで以下を入力するだけです。
※date_columnは、任意の日付カラムに置換てください。
DATE(DATETIME_SUB(date_column, INTERVAL EXTRACT(DAYOFWEEK FROM DATETIME_SUB(date_column, INTERVAL 3 DAY)) -1 DAY))
これは週始まりを水曜日として、その週に属する日付に対して各週の水曜日の日付を付与します。
計算式を分解して説明します。
EXTRACT(DAYOFWEEK FROM DATETIME_SUB(date_column, INTERVAL 3 DAY))
日付カラムからマイナス3日をして曜日ナンバーを抽出します。ここで大事なことは日付を算出することではなく、マイナス3日によって算出した日付の曜日ナンバーです。
本来、DAYOFWEEKは日曜日を起点に1から7の番号を返します。これをマイナス3日したことで日付カラムに対して、曜日の始まりが水曜日になるようにずらしました。
なので、火曜日を始まりとする場合はマイナス2日。木曜日を始まりとするならマイナス4日です。
DATE(DATETIME_SUB(date_column, INTERVAL EXTRACT(DAYOFWEEK FROM DATETIME_SUB(date_column, INTERVAL 3 DAY)) -1 DAY))
最後に、日付カラムから「週ナンバー-1」した値だけ引き算をして完了です。DATE関数を使用している理由として、DATETIME_SUB関数を使用することでディメンションがDATETIME型になってしまうためです。Looker StudioにDATE_ADD関数とDATE_SUB関数はありません。
ここで作成したディメンションを使用することで、特定の曜日を起点にした週単位の分析が可能になります。
まとめ
今回はLooker Studioで特定の曜日から週をスタートさせる方法を紹介しました。この記事ではLooker Studioの操作だけで解決する方法を解説しましたが、そもそもSQLでカラムを作成しておけばいいという考え方もあります。
BigQueryを使用して特定の曜日からスタートさせる方法も紹介しているので是非お読みください。
ここまでお読みいただきありがとうございました!