[新機能]Lookerで前月比・前年比などの比較値を簡単に出せる新しいメジャータイプ「type: period_over_period」がリリースされました

[新機能]Lookerで前月比・前年比などの比較値を簡単に出せる新しいメジャータイプ「type: period_over_period」がリリースされました

Clock Icon2025.04.30

さがらです。

Lookerの新機能として、前月比・前年比などの比較値を簡単に出せる新しいメジャータイプtype: period_over_periodがリリースされました! ※2025/4/30時点、プレビュー機能のためご注意ください。

https://cloud.google.com/looker/docs/period-over-period

この機能を試してみたので、本記事でまとめてみます。

事前準備

以下のシンプルなlookmlファイルを一つ用意して、このviewに対してtype: period_over_periodを試していきます。

explore: order_items_pop {}

view: order_items_pop {
  sql_table_name: looker-private-demo.ecomm.order_items ;;

  dimension_group: created {
    #X# group_label:"Order Date"
    label: "受注"
    type: time
    timeframes: [time, hour, date, week, month, year, hour_of_day, day_of_week, month_num, raw, week_of_year]
    sql: ${TABLE}.created_at ;;
  }

  dimension: status {
    label: "ステータス"
    type: string
    sql:
      CASE
        WHEN ${TABLE}.status = 'Processing' THEN 'プロセス中'
        WHEN ${TABLE}.status = 'Shipped' THEN '出荷'
        WHEN ${TABLE}.status = 'Complete' THEN '完了'
        WHEN ${TABLE}.status = 'Returned' THEN '返品'
        WHEN ${TABLE}.status = 'Cancelled' THEN 'キャンセル'
        ELSE null
      END ;;
  }

  dimension: sale_price {
    label: "売上"
    type: number
    value_format_name: usd
    sql: ${TABLE}.sale_price;;
  }

  measure: total_sale_price {
    label: "総売上"
    type: sum
    value_format_name: usd
    sql: ${sale_price} ;;
  }

  measure: average_sale_price {
    label: "平均売上"
    type: average
    value_format_name: usd
    sql: ${sale_price} ;;
  }

}

2025-04-30_13h24_51

基本的な使い方

以下のように、type: period_over_periodのメジャーを定義すればOKです。

必要な項目は以下になります。

  • based_on:比較値を取りたいメジャーのフィールド名をview名.フィールド名の形で指定
  • based_on_time:使用する時間ディメンションのフィールド名をview名.フィールド名の形で指定
  • period:比較対象期間として、どれだけの期間遡るかを指定
    • year、fiscal_year、quarter、fiscal_quarter、month、week、date、いずれかを指定する
  • kind:比較時の計算の種類を指定。以下の3つから指定可能
    • previous:比較対象の値をそのまま表示
    • difference:比較対象の値との差分を表示
    • relative_change:比較対象の値との変化率を表示
  measure: total_sale_price_last_year {
    label: "総売上(前年の値)"
    value_format_name: usd
    type: period_over_period
    based_on: order_items_pop.total_sale_price
    based_on_time: order_items_pop.created_year
    period: year
    kind: previous
  }

2025-04-30_13h39_58

kindを3種類並べると、こんな感じになります。

  measure: total_sale_price_last_year {
    label: "総売上(前年の値)"
    value_format_name: usd
    type: period_over_period
    based_on: order_items_pop.total_sale_price
    based_on_time: order_items_pop.created_year
    period: year
    kind: previous
  }

  measure: difference_total_sale_price_last_year {
    label: "総売上(前年との差)"
    value_format_name: usd
    type: period_over_period
    based_on: order_items_pop.total_sale_price
    based_on_time: order_items_pop.created_year
    period: year
    kind: difference
  }

  measure: changerate_total_sale_price_last_year {
    label: "総売上(前年からの変化率)"
    value_format_name: usd
    type: period_over_period
    based_on: order_items_pop.total_sale_price
    based_on_time: order_items_pop.created_year
    period: year
    kind: relative_change
  }

2025-04-30_13h43_58

気になることを試してみた

type: period_over_periodのメジャーと前年比を計算できないディメンションだけを、Exploreで一緒に選択

下図のように、ステータスという注文ステータスを返すディメンションだけを選択した上で、type: period_over_periodのメジャーを選択するとどうなるのかを検証してみます。

2025-04-30_13h55_34

すると、下図のようにエラーとなりました!

2025-04-30_13h55_52

エラーメッセージに沿って、Allowed fieldsに指定のあるフィールドを追加するとエラーは解消されました。比較期間をちゃんと計算できるディメンションを選択していると、他のディメンションが選択されていても問題なく計算できるようです。

2025-04-30_13h57_22

type: period_over_periodのメジャーの設定をperiod: monthとして、Exploreでyearのディメンションを選択

type: period_over_periodのメジャーの設定で下記のようにperiod: monthとして、yearのディメンションを選択するとどうなるかを検証してみます。

  measure: difference_total_sale_price_last_month {
    label: "総売上(前月との差)"
    value_format_name: usd
    type: period_over_period
    based_on: order_items_pop.total_sale_price
    based_on_time: order_items_pop.created_month
    period: month
    kind: difference
  }

すると、下図のようにエラーとなりました。type: period_over_periodperiod: monthのメジャーが選択されている場合、monthかdateのフィールドが必須となるようです。

2025-04-30_14h05_37

最後に

Lookerの新機能として、前月比・前年比などの比較値を簡単に出せる新しいメジャータイプtype: period_over_periodがリリースされたので早速試してみました。

計算できない場合はちゃんとエラーを返してくれますし、定義の方法も非常に簡単なので、これは本当に嬉しい機能ですね…!Lookerをご利用の方にはぜひ試して頂きたいです!

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.