Looker Studioで「日付関数の種類が多すぎてどれを使えばいいかわからない」「期間設定がグラフに反映されない」と悩んでいませんか。日付関数と期間設定はLooker Studioでデータ分析を行ううえで避けて通れない重要なテーマですが、両方をセットで理解している人は意外と少ないのが現状です。本記事では、Looker Studioの日付関数全28種類の一覧と実践コード、期間設定の3つの適用レベルと操作手順、さらにGA4連携での活用シナリオまでを1記事で完全解説します。この記事を読み終える頃には、日付に関する悩みがすべて解消されているはずです。ぜひ最後までご覧ください。
日付関数とは?─ 計算フィールドでデータを自在に操作する仕組み
Looker Studioの日付関数とは、計算フィールド内で日付データを取得・計算・変換するために使う関数の総称です。
Looker Studioには全28種類の日付関数が用意されており、「今日の日付を取得する」「2つの日付の差を計算する」「日付から曜日や月だけを取り出す」といった処理を計算フィールドに数式を書くだけで実現できます。たとえば、GA4のデータに対して「過去30日間だけ表示する」といった動的なフィルタを作成する際にも、日付関数が活躍します。
日付関数を使いこなすことで、手作業でのレポート更新が不要になり、常に最新のデータに基づいた分析が可能になります。日付関数はLooker Studioの「計算フィールド」という機能の中で使用するため、まずは計算フィールドの基本的な仕組みを理解しておくとスムーズです。
期間設定とは?─ レポートに表示するデータの時間範囲を制御する仕組み
期間設定とは、Looker Studioのレポートに表示するデータの期間(いつからいつまで)を制御する機能です。
日付関数が「計算フィールド内でコードを書いて日付を操作する」のに対し、期間設定は「UIの画面操作でグラフやレポートの表示期間を指定する」仕組みです。レポート全体、ページ単位、個別のグラフ(コンポーネント)単位の3つのレベルで設定でき、閲覧者がカレンダーで期間を動的に変更できる「期間設定コントロール」も用意されています。
期間設定を正しく使えば、「レポートを開いたら常に直近30日間が表示される」「閲覧者が自由に期間を切り替えられる」といったレポート運用が実現します。
日付関数と期間設定の違い・使い分け早見表
日付関数と期間設定は役割が異なります。以下の表でそれぞれの違いを整理します。
| 項目 | 日付関数 | 期間設定 |
|---|---|---|
| 操作方法 | 計算フィールドに数式を記述 | UIの画面操作で設定 |
| 主な用途 | 日付の計算・変換・抽出 | レポート表示期間の制御 |
| 設定場所 | データソースまたはグラフの計算フィールド | レポート設定・ページ設定・グラフ設定 |
| 閲覧者の操作 | 不可(作成者が設定) | 期間コントロールで動的に変更可能 |
| 代表的な使い方 | 経過日数の算出、曜日ラベルの生成 | 「過去30日間」の表示、前年比較 |
日付関数は「データそのものを加工する」ために使い、期間設定は「表示する範囲を決める」ために使うと覚えておくと迷いません。
この記事で解決できる5つの課題
本記事を読むことで、以下の5つの課題を解決できます。
| 課題 | 解決方法 | 該当セクション |
|---|---|---|
| どの日付関数を使えばよいかわからない | 全28関数一覧表で用途別に整理 | 日付関数リファレンス |
| 計算フィールドの書き方がわからない | コピペOKの実践コードを掲載 | 日付関数の実践コード |
| 期間設定がグラフに反映されない | 優先順位のルールと操作手順を解説 | 期間設定の完全解説 |
| 前年比較の設定方法がわからない | 比較期間の設定手順を図解 | 比較期間の設定方法 |
| 日付データがエラーになる | トラブルシューティングで原因と対処法を解説 | よくあるエラー |
日付の取得・生成(CURRENT_DATE / TODAY / DATE / DATETIME)
日付の取得・生成に使う関数は、レポートの自動更新や特定の日付の生成に活用します。
| 関数名 | 構文 | 説明 |
|---|---|---|
| CURRENT_DATE | CURRENT_DATE([time_zone]) | 現在の日付を取得する。タイムゾーン指定可能 |
| CURRENT_DATETIME | CURRENT_DATETIME([time_zone]) | 現在の日付+時刻を取得する |
| TODAY | TODAY([time_zone]) | CURRENT_DATEと同じ機能(エイリアス) |
| DATE | DATE(year, month, day) | 年・月・日の数値から日付を生成する |
| DATETIME | DATETIME(year, month, day, hour, minute, second) | 年月日時分秒から日時を生成する |
CURRENT_DATEとTODAYは同じ動作をする関数です。タイムゾーンを省略するとUTC(協定世界時)が適用されるため、日本時間で使用する場合はCURRENT_DATE("Asia/Tokyo")のように明示的に指定することを推奨します。
日付の計算(DATE_DIFF / DATETIME_DIFF / DATETIME_ADD / DATETIME_SUB)
2つの日付間の差分や、日付の加減算を行う関数です。
| 関数名 | 構文 | 説明 |
|---|---|---|
| DATE_DIFF | DATE_DIFF(X, Y) | 2つの日付の差を日数で返す(X − Y) |
| DATETIME_DIFF | DATETIME_DIFF(X, Y, part) | 2つの日時間の差をpart単位で返す |
| DATETIME_ADD | DATETIME_ADD(expr, INTERVAL n part) | 日時に指定した期間を加算する |
| DATETIME_SUB | DATETIME_SUB(expr, INTERVAL n part) | 日時から指定した期間を減算する |
DATE_DIFFは日付型(Date)同士の差分を日数で返します。DATETIME_DIFFは日時型(DateTime)同士の差分をYEAR、MONTH、DAY、HOURなどの任意の単位で返せるため、より柔軟な計算が可能です。
日付要素の抽出(EXTRACT / YEAR / MONTH / DAY / WEEKDAY / HOUR など)
日付データから年・月・日・曜日・時間などの特定の要素だけを取り出す関数です。
| 関数名 | 構文 | 説明 |
|---|---|---|
| EXTRACT | EXTRACT(part FROM date_expr) | 日付から指定した要素を抽出する(万能関数) |
| YEAR | YEAR(date) | 年を取得する |
| QUARTER | QUARTER(date) | 四半期(1〜4)を取得する |
| MONTH | MONTH(date) | 月を取得する |
| WEEK | WEEK(date) | 週番号を取得する |
| YEARWEEK | YEARWEEK(date) | 年+週番号を取得する |
| DAY | DAY(date) | 日を取得する |
| WEEKDAY | WEEKDAY(date) | 曜日番号を取得する(1=日曜〜7=土曜) |
| HOUR | HOUR(datetime) | 時(0〜23)を取得する |
| MINUTE | MINUTE(datetime) | 分を取得する |
| SECOND | SECOND(datetime) | 秒を取得する |
EXTRACT関数は1つの関数であらゆる日付要素を取り出せるため、最も汎用性が高い関数です。一方、YEAR、MONTHなどの個別関数はコードの可読性が高いという利点があります。用途に応じて使い分けてください。
日付の切り捨て・丸め(DATETIME_TRUNC)
日付を指定した粒度で切り捨てる関数です。
| 関数名 | 構文 | 説明 |
|---|---|---|
| DATETIME_TRUNC | DATETIME_TRUNC(date_expression, part) | 日付を指定した粒度(YEAR/MONTH/DAY等)で切り捨てる |
DATETIME_TRUNCは、月次集計や週次集計を行う際に便利な関数です。たとえばDATETIME_TRUNC(日付, MONTH)と記述すると、すべての日付がその月の1日に丸められます。これにより、月ごとのグルーピングが容易になります。
日付の変換・フォーマット(PARSE_DATE / PARSE_DATETIME / FORMAT_DATETIME / TODATE)
テキストと日付の相互変換や、日付の表示形式を変更する関数です。
| 関数名 | 構文 | 説明 |
|---|---|---|
| PARSE_DATE | PARSE_DATE(format, text) | テキスト文字列を日付型に変換する |
| PARSE_DATETIME | PARSE_DATETIME(format, text) | テキスト文字列を日時型に変換する |
| FORMAT_DATETIME | FORMAT_DATETIME(format, datetime) | 日時型をフォーマット済み文字列に変換する |
| TODATE | TODATE(X, Input, Output) | 互換モード用の日付変換関数 |
スプレッドシートやCSVからデータを取り込んだ際に、日付がテキスト型として認識されるケースがあります。このような場合にPARSE_DATEやPARSE_DATETIMEを使うことで、正しい日付型に変換できます。
その他のユーティリティ(DATE_FROM_UNIX_DATE / UNIX_DATE)
UNIXエポック(1970年1月1日)を基準とした日付変換を行う関数です。
| 関数名 | 構文 | 説明 |
|---|---|---|
| DATE_FROM_UNIX_DATE | DATE_FROM_UNIX_DATE(integer) | UNIXエポック日数(整数)を日付に変換する |
| UNIX_DATE | UNIX_DATE(date) | 日付をUNIXエポック日数(整数)に変換する |
これらの関数は、APIから取得したUNIXタイムスタンプ形式のデータをLooker Studioで扱いやすい日付型に変換する際に使用します。一般的なGA4やサーチコンソールのデータ分析では使用頻度は低めですが、外部データソースとの連携時に役立ちます。
CURRENT_DATE ─ 今日の日付を取得してレポートを自動更新する
CURRENT_DATE関数は、Looker Studioの日付関数の中で最も基本的かつ使用頻度の高い関数です。レポートを開くたびに自動的に「今日の日付」を返すため、日次レポートの自動更新に欠かせません。
基本構文とタイムゾーン設定(Asia/Tokyo)
-- 日本時間の現在日付を取得
CURRENT_DATE("Asia/Tokyo")
-- UTC(協定世界時)の現在日付を取得
CURRENT_DATE()
タイムゾーンを省略するとUTCが適用されます。日本時間はUTCより9時間進んでいるため、UTCで午前0時〜午前8時59分の間は日付が1日ずれます。日本国内向けのレポートでは必ず"Asia/Tokyo"を指定してください。
GA4データを「過去30日間」に動的フィルタリングする例
-- 過去30日間のデータだけを表示するフィルタ条件
DATE_DIFF(CURRENT_DATE("Asia/Tokyo"), 日付) <= 30
この計算フィールドをフィルタとして適用すると、レポートを開くたびに自動的に直近30日間のデータだけが表示されます。期間設定コントロールを使わずに動的な期間フィルタを実現できるため、固定的な日次レポートに最適です。
DATE_DIFF ─ 2つの日付の差を計算する
DATE_DIFF関数は、2つの日付の間隔を日数で返す関数です。経過日数の計算やキャンペーン期間の管理など、実務で非常によく使います。
基本構文と使い方
-- 基本構文:X − Y の日数を返す
DATE_DIFF(新しい日付, 古い日付)
第1引数に新しい日付、第2引数に古い日付を指定します。結果は正の整数で返ります。引数の順序を逆にすると負の値になるため注意してください。
キャンペーン残日数・会員継続日数を算出する例
-- 会員登録からの経過日数
DATE_DIFF(CURRENT_DATE("Asia/Tokyo"), 登録日)
-- キャンペーン終了までの残り日数
DATE_DIFF(キャンペーン終了日, CURRENT_DATE("Asia/Tokyo"))
会員の継続期間分析では、経過日数を元にセグメント分けを行うことで「30日以内の新規会員」「90日以上の定着会員」といった分類が可能になります。
EXTRACT ─ 年・月・曜日・時間帯を抽出して深掘り分析する
EXTRACT関数は、日付データから特定の要素(年、月、曜日、時間など)を取り出す万能関数です。1つの関数であらゆる要素を抽出できるため、覚えておくと幅広い場面で活用できます。
曜日別アクセス分析の計算フィールド作成例
-- 曜日番号を取得(1=日曜, 2=月曜, ... 7=土曜)
EXTRACT(DAYOFWEEK FROM 日付)
-- 曜日名を日本語で表示する(CASEと組み合わせ)
CASE EXTRACT(DAYOFWEEK FROM 日付)
WHEN 1 THEN "日曜"
WHEN 2 THEN "月曜"
WHEN 3 THEN "火曜"
WHEN 4 THEN "水曜"
WHEN 5 THEN "木曜"
WHEN 6 THEN "金曜"
WHEN 7 THEN "土曜"
END
営業時間内/時間外のコンバージョン比較例
-- 営業時間内(9時〜18時・平日)のコンバージョン率
CASE
WHEN EXTRACT(HOUR FROM 日時) >= 9
AND EXTRACT(HOUR FROM 日時) < 18
AND EXTRACT(DAYOFWEEK FROM 日時) BETWEEN 2 AND 6
THEN "営業時間内"
ELSE "営業時間外"
END
このラベルをディメンションとして使うことで、営業時間内と時間外のコンバージョン率を比較するグラフが簡単に作成できます。BtoB企業のWeb分析で特に有効な手法です。
DATETIME_ADD / DATETIME_SUB ─ 日付を加減算して期間をシフトする
DATETIME_ADDは日付に期間を加算し、DATETIME_SUBは日付から期間を減算する関数です。月初・月末の自動計算や、前月同日のデータ取得に活用します。
今月初日・今月最終日を自動計算する例
-- 今月の初日を取得
DATETIME_TRUNC(CURRENT_DATE("Asia/Tokyo"), MONTH)
-- 今月の最終日を取得
DATETIME_SUB(
DATETIME_TRUNC(
DATETIME_ADD(CURRENT_DATE("Asia/Tokyo"), INTERVAL 1 MONTH),
MONTH
),
INTERVAL 1 DAY
)
今月初日の取得にはDATETIME_TRUNCでMONTH単位に切り捨てる方法が最もシンプルです。今月最終日は「翌月1日から1日引く」というロジックで算出します。
「前月同日」との差分を算出する例
-- 前月同日の日付を取得
DATETIME_SUB(CURRENT_DATE("Asia/Tokyo"), INTERVAL 1 MONTH)
前月同日を基準にした比較分析は、月次レポートのトレンド把握に役立ちます。ただし、31日がない月(2月、4月など)では自動的に月末日に調整される点に注意してください。
FORMAT_DATETIME ─ 日付を「2026年02月」のように表示する
FORMAT_DATETIME関数は、日時型のデータを任意の文字列フォーマットに変換する関数です。グラフの軸ラベルや表の表示を日本語形式にしたい場合に使います。
よく使うフォーマットパターン一覧
| フォーマット文字列 | 出力例 | 用途 |
|---|---|---|
"%Y年%m月%d日" | 2026年02月23日 | 日本語の完全な日付表示 |
"%Y年%m月" | 2026年02月 | 月次レポートのラベル |
"%Y/%m/%d" | 2026/02/23 | スラッシュ区切りの日付 |
"%m月%d日(%a)" | 02月23日(Mon) | 曜日付きの短縮表示 |
"%H:%M" | 14:30 | 時刻のみの表示 |
-- 「2026年02月」のような表示を生成
FORMAT_DATETIME("%Y年%m月", 日時フィールド)
FORMAT_DATETIMEの第1引数にはフォーマット文字列を、第2引数には日時型のフィールドを指定します。Date型のフィールドに対して使用するとエラーになるため、必要に応じてCAST関数でDATETIME型に変換してから使用してください。
PARSE_DATE / PARSE_DATETIME ─ 文字列を日付型に変換する
PARSE_DATE関数は、テキスト文字列を日付型に変換する関数です。スプレッドシートやCSVから取り込んだデータが日付として認識されない場合に使用します。
「20260223」形式の文字列を変換する例
-- YYYYMMDD形式の文字列を日付型に変換
PARSE_DATE("%Y%m%d", 日付テキストフィールド)
「2026/02/23 14:30」形式の文字列を変換する例
-- スラッシュ区切りの日時文字列を日時型に変換
PARSE_DATETIME("%Y/%m/%d %H:%M", 日時テキストフィールド)
フォーマット文字列は元のテキストデータの形式と完全に一致させる必要があります。形式が合っていないとエラーが発生するため、元データの形式を事前に確認してください。
CASE × 日付関数 ─ 条件分岐と組み合わせた高度な分析パターン
CASE関数と日付関数を組み合わせることで、前年同期比較や四半期ラベルの自動生成といった高度な分析が可能になります。
前年同期比較の計算フィールドを作成する例
-- 今年と前年を区別するラベルを生成
CASE
WHEN EXTRACT(YEAR FROM 日付) = EXTRACT(YEAR FROM CURRENT_DATE("Asia/Tokyo"))
THEN "今年"
WHEN EXTRACT(YEAR FROM 日付) = EXTRACT(YEAR FROM CURRENT_DATE("Asia/Tokyo")) - 1
THEN "前年"
ELSE "それ以前"
END
四半期ごとのラベルを自動生成する例
-- Q1〜Q4のラベルを自動生成
CONCAT(
CAST(YEAR(日付) AS TEXT),
"年 Q",
CAST(QUARTER(日付) AS TEXT)
)
-- 出力例:2026年 Q1
CASE関数との組み合わせは応用範囲が非常に広いため、日付関数の基本を習得した後に積極的に活用してください。
レベル①:レポート全体のデフォルト期間を設定する
レポート全体に一括で適用される期間は「レポート設定」から設定します。すべてのページとグラフに共通の表示期間を指定したい場合に使用します。
「ファイル > レポート設定」からの設定手順
- Looker Studioの編集画面を開く
- 上部メニューの「ファイル」→「レポート設定」をクリック
- 右側に表示されるレポート設定パネルで、対象のデータソースを選択
- 「デフォルトの日付範囲」を「自動」から「カスタム」に変更
- 表示されるカレンダーから希望の期間を選択し「適用」をクリック
「自動」設定の挙動(前日までの直近28日間)
デフォルトの日付範囲を「自動」のままにすると、「前日までの直近28日間(今日を除く)」が表示期間として適用されます。多くのケースではこの初期設定で問題ありませんが、「今月」「過去30日間」など特定の期間を固定したい場合はカスタムに変更してください。
レベル②:ページ単位で期間を設定する
特定のページだけ異なる期間を表示したい場合は、ページ単位の期間設定を使います。
「ページ > 現在のページの設定」からの設定手順
- 上部メニューの「ページ」→「現在のページの設定」をクリック
- 右側に表示される設定パネルで「デフォルトの日付範囲」を「カスタム」に変更
- 希望の期間を選択して「適用」をクリック
ページ単位の設定はレポート全体の設定よりも優先されます。たとえば、レポート全体は「過去30日間」に設定しつつ、月次サマリーのページだけ「先月」に設定するといった使い分けが可能です。
レベル③:個別グラフ(コンポーネント)に期間を設定する
特定のグラフだけ固定の期間を表示したい場合は、コンポーネント単位の期間設定を使います。
プロパティパネル「デフォルトの日付範囲」の設定手順
- 期間を設定したいグラフをクリックして選択
- 右側のプロパティパネルで「設定」タブを開く
- 「デフォルトの日付範囲」を「自動」から「カスタム」に変更
- 希望の期間を選択して「適用」をクリック
コンポーネント単位の設定は最も優先順位が高いため、ページやレポートの設定、さらに期間設定コントロールの設定よりも優先されます。「このグラフだけは常に今年のデータを表示する」といった固定表示に活用してください。
期間設定コントロールで閲覧者が動的に期間を変更できるようにする
期間設定コントロールは、レポートの閲覧者がカレンダー形式で表示期間を自由に切り替えられるUI部品です。
期間設定コントロールの追加手順
- 上部メニューの「コントロールを追加」→「期間設定」を選択
- レポート上の設置したい位置をクリック
- 追加された期間コントロールを選択し、右側の設定パネルでデフォルトの期間を設定
期間設定コントロールを配置すると、閲覧者はカレンダーから任意の開始日・終了日を選択できるようになります。デフォルトではページ内のすべてのグラフに対して期間が適用されます。
レポートレベルに変更して全ページに適用する方法
- 設置した期間設定コントロールを右クリック
- 表示されるメニューから「レポートレベルに変更」を選択
レポートレベルに変更すると、すべてのページに期間設定コントロールが表示されます。注意点として、レポートレベルのコントロールを削除するとすべてのページから削除されるため、操作には注意が必要です。
【重要】期間設定の優先順位を理解する
期間設定を複数のレベルで設定した場合、どの設定が優先されるかを理解しておくことが非常に重要です。
「コンポーネント > ページ/コントロール > レポート」の適用ルール
期間設定の優先順位は以下の通りです。
| 優先順位 | 設定レベル | 説明 |
|---|---|---|
| 1位(最優先) | コンポーネント(グラフ単体) | 個別グラフに設定した期間が最も優先される |
| 2位 | ページ / コントロール | ページ設定と期間コントロールは同列 |
| 3位 | レポート | レポート全体のデフォルト期間は最も優先度が低い |
グラフにカスタム期間を設定すると、期間設定コントロールの操作が反映されなくなります。「期間コントロールを操作してもグラフの表示が変わらない」という場合は、そのグラフのデフォルトの日付範囲が「カスタム」になっていないか確認してください。
ページ設定とコントロール設定を併用するときの注意点
ページ設定とコントロール設定を同時に使うと、後から操作した方が優先されます。設定が上書きされる挙動になるため、混乱を避けるにはどちらか一方に統一することをおすすめします。
選択できるプリセット期間一覧(過去7日/14日/28日/今月/先月/今年 など)
Looker Studioでは、あらかじめ用意された期間の選択肢から選ぶだけで簡単に期間を設定できます。選択できるプリセット期間は以下の通りです。
- 過去7日間 / 過去14日間 / 過去28日間 / 過去30日間
- 今日 / 昨日
- 今週(日曜日から)/ 今週(月曜日から)/ 今週月曜日から今日まで / 先週(月曜日から)
- 今月 / 今月初めから今日まで / 先月
- 今四半期 / 今四半期初めから今日まで / 前四半期
- 今年 / 今年初めから今日まで / 前年
- 絶対指定 / 詳細設定
これらのプリセットに該当しない期間(過去3ヶ月、過去12ヶ月など)を指定したい場合は、「絶対指定」または「詳細設定」を使用します。
絶対指定 ─ 固定期間のデータを表示する
絶対指定は、開始日と終了日をカレンダーから直接指定する方式です。レポートを閲覧する日付に関わらず、常に固定された期間のデータが表示されます。
たとえば「2025年4月1日〜2025年9月30日」と絶対指定すると、いつレポートを開いても必ずこの期間のデータが表示されます。過去のキャンペーンの振り返りレポートや、特定の期間に限定した分析に適しています。
詳細設定 ─ 「過去3ヶ月」「過去12ヶ月」など柔軟な動的期間を設定する
詳細設定は、今日の日付を基準に動的な期間を細かく指定できる機能です。プリセットにはない「過去3ヶ月」「過去12ヶ月」などの期間を設定できます。
過去3ヶ月の設定例
開始日と終了日それぞれに「今日」を基準とした相対的な日数を指定します。
| 設定項目 | 開始日 | 終了日 |
|---|---|---|
| 基準 | 今日 | 今日 |
| オフセット数 | 3 | 0 |
| 単位 | 月 | 月 |
過去12ヶ月の設定例
| 設定項目 | 開始日 | 終了日 |
|---|---|---|
| 基準 | 今日 | 今日 |
| オフセット数 | 12 | 0 |
| 単位 | 月 | 月 |
特定の開始日(例:2023/4/1)〜昨日までの設定例
開始日を絶対指定、終了日を相対指定にする組み合わせも可能です。
| 設定項目 | 開始日 | 終了日 |
|---|---|---|
| 種類 | 固定 | 相対 |
| 値 | 2023年4月1日 | 今日から1日前 |
このように絶対指定と相対指定を組み合わせることで、「サイト開設日から昨日まで」のような柔軟な期間設定が実現できます。
比較期間の設定場所と対応コンポーネント
比較期間は、コンポーネント(グラフやスコアカード)の設定パネルから設定します。グラフを選択し、右側のプロパティパネルにある「デフォルトの日付範囲」セクション内の「比較期間」をオンにすると有効になります。
比較期間を利用できるコンポーネントは以下の4種類です。
- 期間グラフ
- 表グラフ
- 面グラフ
- スコアカード
円グラフや地図グラフなどでは比較期間は設定できないため、注意してください。
「前の期間」「前年」の比較対象がどの期間になるか一覧表
比較期間の選択肢には「前の期間」「前年」「絶対指定」「詳細設定」があります。以下は、データ期間に対して「前の期間」と「前年」がどの期間を参照するかの具体例です(今日が2026年2月23日の場合)。
| 選択期間 | データ期間 | 前の期間 | 前年 |
|---|---|---|---|
| 過去7日間 | 2/16〜2/22 | 2/9〜2/15 | 2025/2/16〜2/22 |
| 今月初めから今日まで | 2/1〜2/22 | 1/1〜1/22 | 2025/2/1〜2/22 |
| 先月 | 1/1〜1/31 | 12/1〜12/31 | 2025/1/1〜1/31 |
| 前四半期 | 10/1〜12/31 | 7/1〜9/30 | 2024/10/1〜12/31 |
スコアカードに前期比の増減率を表示する設定例
スコアカードに比較期間を設定すると、現在の値と比較期間の値の増減率が自動的に表示されます。設定手順は以下の通りです。
- スコアカードをクリックして選択
- プロパティパネルの「設定」タブで「デフォルトの日付範囲」をカスタムに変更(例:過去30日間)
- 「比較期間」をオンにし、「前の期間」を選択
- 「適用」をクリック
スコアカードに緑色(増加)または赤色(減少)の矢印とパーセンテージが表示されるようになります。KPIダッシュボードでの活用に最適な設定です。
折れ線グラフに比較線を追加する設定例
期間グラフに比較期間を設定すると、比較対象の期間が異なる色の線として表示されます。設定手順はスコアカードと同様に、プロパティパネルの「比較期間」をオンにするだけです。
現在のデータと前年同期のデータを折れ線グラフで重ね合わせることで、季節変動やトレンドの変化を視覚的に把握できます。前年比較は特にECサイトや季節商品を扱うビジネスで効果的です。
期間のディメンションの役割と仕組み
期間のディメンションとは、グラフのデータ表示期間を絞る際に基準となる日付型のディメンションです。
期間設定コントロールやデフォルトの日付範囲が正しく機能するためには、各グラフに「期間のディメンション」が設定されている必要があります。期間のディメンションが設定されていないグラフには、期間設定コントロールの操作が反映されません。
期間のディメンションとして有効なのは「年、月、日」を含む日付型のデータです。元のデータに日付型のフィールドがない場合でも、PARSE_DATE関数などで日付型に変換したフィールドを期間のディメンションとして使用できます。
GA4・サーチコンソール接続時のデフォルト設定
GA4やサーチコンソールをデータソースとして接続した場合、期間のディメンションは自動的に「日付」フィールドに設定されます。これらのデータソースでは期間のディメンションをユーザーが変更することはできません。
そのため、GA4やサーチコンソールのデータを使用する場合は、期間のディメンションの設定を気にする必要はありません。期間設定コントロールを追加するだけで、すぐに期間による絞り込みが機能します。
独自データソース(スプレッドシートなど)で期間のディメンションを手動設定する方法
GoogleスプレッドシートやBigQueryなどのデータソースでは、期間のディメンションを手動で設定する必要があります。手順は以下の通りです。
- グラフを選択し、右側のプロパティパネルを開く
- 「設定」タブの「データソース」セクションにある「期間のディメンション」を確認
- ドロップダウンから日付型のフィールドを選択
データソースに日付型のフィールドが存在しない場合は、PARSE_DATEなどの関数で計算フィールドを作成し、そのフィールドを期間のディメンションとして指定してください。
期間のディメンションが表示されないときの対処法
期間のディメンションが表示されない場合、主に以下の原因が考えられます。
| 原因 | 対処法 |
|---|---|
| フィールドが日付型として認識されていない | データソースの設定画面で対象フィールドのデータ型を「日付」に変更する |
| 日付のフォーマットが正しくない | PARSE_DATE関数で正しい日付型に変換する |
| データソースに日付フィールドが存在しない | 日付型の計算フィールドを新規作成する |
| データ型が「テキスト」や「数値」のままになっている | データソースの編集画面でフィールドの型を手動で変更する |
シナリオ①:月次レポートを自動更新するダッシュボードを作る
月次レポートの自動更新は、日付関数と期間設定を組み合わせる最も代表的なユースケースです。
レポート全体の期間設定を「先月」に設定しておけば、毎月レポートを開くたびに前月のデータが自動的に表示されます。加えて、スコアカードに「比較期間:前の期間」を設定することで、前月比の増減率も自動計算されます。
-- レポートの最終更新日を表示するテキストフィールド
CONCAT("最終更新: ", FORMAT_DATETIME("%Y年%m月%d日", CURRENT_DATETIME("Asia/Tokyo")))
シナリオ②:前年同月比較で成長率を可視化する
前年同月比較は、季節変動の影響を除外してビジネスの成長率を正確に評価するための基本手法です。
期間グラフの比較期間を「前年」に設定するだけで、現在の期間と前年同期の折れ線を重ね合わせて表示できます。コードを書く必要はなく、UI操作だけで実現可能です。
シナリオ③:曜日×時間帯のヒートマップで最適な配信タイミングを見つける
EXTRACT関数で曜日と時間帯を抽出し、ピボットテーブルやヒートマップ形式で可視化することで、ユーザーが最もアクティブなタイミングを特定できます。
-- 曜日ラベルの作成
CASE EXTRACT(DAYOFWEEK FROM 日付)
WHEN 1 THEN "日" WHEN 2 THEN "月" WHEN 3 THEN "火"
WHEN 4 THEN "水" WHEN 5 THEN "木" WHEN 6 THEN "金" WHEN 7 THEN "土"
END
-- 時間帯ラベルの作成
CONCAT(CAST(EXTRACT(HOUR FROM 日時) AS TEXT), "時台")
メール配信やSNS投稿の最適な時間帯を見つけるために活用できます。
シナリオ④:初回訪問から再訪問までの日数を分析する
DATE_DIFF関数を使って、初回訪問日から再訪問日までの経過日数を計算することで、ユーザーの関心度やリエンゲージメントの傾向を分析できます。
-- 初回訪問からの経過日数
DATE_DIFF(日付, 初回訪問日)
再訪問までの日数が短いユーザーは自社サービスへの関心が高いと判断できるため、ポップアップでの訴求や限定オファーの表示が効果的です。逆に再訪問がないユーザーに対しては、メルマガでのリマインドが有効な施策になります。
シナリオ⑤:サーチコンソールとGA4の日付データを統合する
Looker StudioでサーチコンソールとGA4のデータを同じレポートに表示する場合、それぞれの日付フィールドを統合する必要があります。
サーチコンソールの日付フィールドはDate型、GA4の日付フィールドもDate型ですが、データの反映タイミングが異なることがあります。GA4のデータは通常24〜48時間の遅延があるため、期間設定を「過去3日前〜過去30日前」のように調整することで、データの欠損を防ぐことが可能です。
両データソースを同一レポートに配置する際は、各グラフの期間のディメンションがそれぞれのデータソースの日付フィールドに正しく設定されていることを確認してください。
日付が「テキスト型」として認識されてしまう場合の対処法
スプレッドシートやCSVからデータを取り込んだ際に、日付フィールドがテキスト型として認識されるケースは非常によくあるトラブルです。
対処法は、データソースの編集画面でフィールドの型を「日付」に手動変更するか、PARSE_DATE関数で変換する方法の2つです。データソースの編集画面で型を変更する方が簡単ですが、元データのフォーマットがLooker Studioの認識できる形式でない場合はPARSE_DATE関数を使用してください。
YYYYMMDD形式の数値が日付として扱えない場合の変換方法
「20260223」のようなYYYYMMDD形式の数値は、そのままでは日付型として認識されません。以下の手順で変換できます。
-- 数値をテキストに変換してからPARSE_DATEで日付型にする
PARSE_DATE("%Y%m%d", CAST(日付数値フィールド AS TEXT))
数値型のフィールドはPARSE_DATEに直接渡せないため、まずCAST関数でテキスト型に変換してからPARSE_DATEで日付型に変換する2段階の処理が必要です。
タイムゾーン未設定による日付ズレの原因と解決策
CURRENT_DATEやCURRENT_DATETIMEでタイムゾーンを指定しないと、UTC(協定世界時)が適用されます。日本時間はUTCより9時間先に進んでいるため、UTCの午前0時〜午前8時59分の間にレポートを確認すると、日付が1日前のデータとして表示される場合があります。
解決策は、すべてのCURRENT_DATE関数に"Asia/Tokyo"を引数として追加することです。
-- NG:タイムゾーン未指定(UTCが適用される)
CURRENT_DATE()
-- OK:日本時間を明示的に指定
CURRENT_DATE("Asia/Tokyo")
期間設定が特定のグラフに反映されない場合のチェックポイント
期間設定コントロールを操作してもグラフの表示期間が変わらない場合、以下の3つのポイントを順番に確認してください。
- グラフの「デフォルトの日付範囲」が「カスタム」になっていないか ─ カスタムに設定されているとコントロールより優先されるため、「自動」に戻してください
- 期間のディメンションが正しく設定されているか ─ プロパティパネルで日付型のフィールドが選択されていることを確認してください
- 期間設定コントロールとグラフが異なるデータソースを参照していないか ─ 異なるデータソースの場合、期間のディメンションが連動しない場合があります
DATE_DIFF関数でエラーが出る原因(データ型の不一致)
DATE_DIFF関数でエラーが発生する最も多い原因は、引数のデータ型が日付型(Date)ではないことです。テキスト型やDATETIME型のフィールドをそのまま渡すとエラーになります。
-- エラーになるケース(テキスト型のフィールド)
DATE_DIFF(CURRENT_DATE(), テキスト型の日付フィールド)
-- 正しいケース(PARSE_DATEで変換してから渡す)
DATE_DIFF(CURRENT_DATE(), PARSE_DATE("%Y-%m-%d", テキスト型の日付フィールド))
DATETIME型のフィールドを使用する場合は、DATE_DIFFの代わりにDATETIME_DIFFを使用するか、DATE関数でDate型に変換してからDATE_DIFFに渡してください。
- DATE関数とDATETIME関数の違いは何ですか?
-
DATE関数とDATETIME関数の違いは、扱える情報の粒度にあります。DATE関数は「年・月・日」の3つの情報だけを持つ日付型(Date)の値を生成します。一方、DATETIME関数は「年・月・日・時・分・秒」の6つの情報を持つ日時型(DateTime)の値を生成します。
具体的な使い分けとしては、日次の売上集計や月次レポートなど日単位の分析にはDATE関数が適しています。時間帯別のアクセス解析やリアルタイム分析など、時刻レベルの精度が必要な場合にはDATETIME関数を使用してください。
-- DATE関数:日付のみ(2026-02-23) DATE(2026, 2, 23) -- DATETIME関数:日時まで(2026-02-23 14:30:00) DATETIME(2026, 2, 23, 14, 30, 0)なお、DATETIME型のフィールドにDATE型専用の関数(DATE_DIFFなど)を使うとエラーになることがあるため、データ型の一致に注意してください。DATE型とDATETIME型の変換が必要な場合はCAST関数を使います。
- CURRENT_DATEとTODAYの違いはありますか?
-
CURRENT_DATEとTODAYは機能的に同一の関数です。どちらも現在の日付を返し、引数にタイムゾーンを指定できる点も同じです。
-- どちらも同じ結果を返す CURRENT_DATE("Asia/Tokyo") TODAY("Asia/Tokyo")Looker Studioの公式ドキュメントでもTODAYはCURRENT_DATEのエイリアス(別名)として位置づけられています。実務では、チーム内で統一されたコーディングルールに従うことをおすすめします。Googleの公式ドキュメントではCURRENT_DATEが主に使用されているため、迷った場合はCURRENT_DATEを選択するのが無難です。
- タイムゾーンの設定は必須ですか?
-
タイムゾーンの設定は必須ではありませんが、日本国内向けのレポートでは設定を強く推奨します。
タイムゾーンを省略した場合、UTC(協定世界時)が適用されます。日本標準時(JST)はUTCより9時間先に進んでいるため、タイムゾーン未設定のままだと特に深夜〜早朝の時間帯に日付が1日ずれてデータが表示されることがあります。
具体的には、UTC午前0時〜午前8時59分(日本時間で午前9時〜午後5時59分)の間にレポートを確認すると、CURRENT_DATE()が前日の日付を返す場合があります。業務時間中にレポートを確認する多くのビジネスユーザーにとって、この日付ズレは混乱の原因になります。
CURRENT_DATE("Asia/Tokyo")のようにタイムゾーンを明示的に指定することで、このズレを完全に防ぐことができます。
- 期間設定の「自動」は具体的にいつからいつまでですか?
-
期間設定の「自動」は、「前日までの直近28日間(今日を除く)」です。
たとえば今日が2026年2月23日の場合、「自動」設定では2026年1月26日〜2026年2月22日のデータが表示されます。今日のデータは含まれない点に注意してください。
「自動」設定はGA4の標準的なレポート期間と一致するように設計されており、GA4の探索レポートのデフォルト期間と同じ考え方です。ただし、「今日を含めたい」「過去30日間にしたい」「今月のデータだけ見たい」といった場合は、カスタム設定に変更する必要があります。
- 日付関数と期間設定コントロールはどちらを使うべきですか?
-
日付関数と期間設定コントロールは役割が異なるため、目的に応じて使い分けることが重要です。
期間設定コントロールは「閲覧者が自由に期間を切り替えたい場合」に最適です。カレンダーUIで直感的に操作できるため、レポートの共有先が多いダッシュボードに向いています。
一方、日付関数は「固定的なロジックで常に同じ期間を表示したい場合」や「経過日数の計算」「曜日ラベルの生成」など、期間設定コントロールでは実現できない処理に使います。
多くの実務では、両方を併用するのがベストプラクティスです。期間設定コントロールでレポート全体の表示期間を制御しつつ、特定のグラフには日付関数を使った計算フィールドで固定的な分析ロジックを組み込むという組み合わせが効果的です。
- 比較期間はすべてのグラフで使えますか?
-
比較期間はすべてのグラフで使えるわけではありません。比較期間に対応しているコンポーネントは以下の4種類に限られます。
- 期間グラフ
- 表グラフ
- 面グラフ
- スコアカード
円グラフ、棒グラフ、地図グラフ、散布図、ピボットテーブルなどでは比較期間は設定できません。前期比や前年比を視覚的に表示したい場合は、対応するコンポーネントを選択してダッシュボードを設計してください。
特にスコアカードはKPIの増減率を一目で把握できるため、ダッシュボードの上部に配置して全体の傾向を示すのに適しています。
習得の優先順位
Looker Studioの日付関数は28種類ありますが、すべてを一度に覚える必要はありません。以下の順番で段階的に習得していくことをおすすめします。
| 優先度 | 関数 | 用途 | 習得目安 |
|---|---|---|---|
| 1 | CURRENT_DATE | 日次・月次レポートの自動更新 | まず最初に |
| 2 | DATE_DIFF | 期間計算・経過日数分析 | 基本習得後 |
| 3 | EXTRACT | 曜日別・時間帯別の深掘り分析 | 実務で必要になったら |
| 4 | FORMAT_DATETIME | 日本語フォーマットの表示 | レポートの見た目を整えるとき |
| 5 | PARSE_DATE | テキスト→日付の変換 | 外部データ連携時 |
期間設定については、まず「期間設定コントロール」の追加方法と「優先順位のルール」を理解することが最優先です。
成功のための4つのポイント
Looker Studioの日付操作で失敗しないために、以下の4つのポイントを常に意識してください。
- タイムゾーンは必ず
"Asia/Tokyo"を指定する ─ 日付ズレの最大の原因を防げます - データ型の一致を確認する ─ Date型とDateTime型の混在はエラーの原因になります
- 期間設定の優先順位を理解する ─ 「コンポーネント > ページ > レポート」の順です
- 期間のディメンションを確認する ─ 独自データソースでは手動設定が必要です
関連記事・無料レポートのご案内
本記事で紹介した日付関数をさらに深く学びたい方は、以下の関連記事もご覧ください。
- Looker Studio DATE関数完全ガイド:12の実用例で学ぶデータ分析の効率化
- Looker Studio CASE関数の使い方完全ガイド|初心者でも5分でマスター
- Looker Studio IF関数の使い方|条件分岐で高度な計算フィールド作成
- Looker Studioで文字列内のパターンを検索する|REGEXP_CONTAINS関数の使い方
また、GA4やサーチコンソールの無料レポートテンプレートも提供しています。日付関数と期間設定が実際にどのように組み込まれているかを確認できますので、実務の参考にしてください。
引用元・参考URL一覧
