今回は、月次ページビュー数の前月比を集計するSQLクエリを紹介する。
SQLクエリ概要
ウィンドウ関数(ナビゲーション関数)の LAG
を利用して前月の合計PV数を取得し、今月の合計PV数と比較することで前月比 month_over_month_ratio
を計算している。
月次PV数の集計方法に関してはこちらの記事でも解説している。
■ BigQuery公式ドキュメント参考
ナビゲーション関数 > LAG関数
https://cloud.google.com/bigquery/docs/reference/standard-sql/navigation_functions?hl=ja#lag
ウィンドウ関数(LAG)
WITH prep AS (
SELECT
CONCAT(SUBSTR(event_date, 1, 4), '-', SUBSTR(event_date, 5, 2)) AS month,
COUNT(*) AS PV
FROM
`technogram-354804.analytics_291973511.events_intraday_2022*`
WHERE
event_name = 'page_view'
AND event_date < '20221001'
GROUP BY
month
ORDER BY
month
)
SELECT
month,
PV,
LAG(PV) OVER(ORDER BY month) AS prev_month_PV,
ROUND(PV / LAG(PV) OVER(ORDER BY month), 2) AS month_over_month_ratio
FROM
prep
ORDER BY
month
;
BigQueryでの集計結果
BigQueryでの集計結果は、以下のようになった。