始める無料で始める

月次比較(Month-over-month)

月を比較するには、次のいずれかのウィンドウ関数を使います。

  • LAG(value, offset) は、レポートの現在行から offset 件だけの値を出力します。
  • LEAD(value, offset) は、レポートの現在行から offset 件だけの値を出力します。

目標は、各国の月次の閲覧数推移(month-over-month views)を表示するレポートを作成することです。いくつかのヒントです。

  • 日付を月単位にまとめる必要があります。これには DATE_PART() 関数を使えます。
  • 変化率(percent change) は次の式で計算できます: (value)/(previous_value) - 1
  • LAG() または LEAD()offset を指定しない場合、既定値は 1 です。

このテーブルは 6 月中旬で終わっているため、クエリは 5 月末までのデータのみを含むように設定されています。

この演習はコースの一部です

SQLでのレポーティング

コースを見る

演習の手順

  • web_data から country_id を取得し、DATE_PART() 関数で month を作成します。
  • 月内の合計閲覧数を取得する month_views を作成します。
  • 指定した国について、先月の合計閲覧数を取得する previous_month_views を作成します。
  • 指定した国について、今月を先月と比べた変化率(percent change)を計算する perc_change フィールドを作成します。負の値は閲覧数の減少、正の値は増加を表します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

SELECT
	-- Pull month and country_id
	____ AS month,
	____,
    -- Pull in current month views
    ____ AS month_views,
    -- Pull in last month views
    ____ AS previous_month_views,
    -- Calculate the percent change
    ____ AS perc_change
FROM ____
WHERE date <= '2018-05-31'
GROUP BY ____;
コードを編集して実行