Google Analytics Laboratory
データポータル

Googleデータポータルでよく使う関数まとめ【コピペ利用可】

データポータル関数まとめ

今回はGAを利用する方なら馴染み深いデータポータル(旧データスタジオ)の関数について触れていきます。

データポータル関数は非常に便利です。Googleアナリティクスに限らず、Google広告やSearch Console、BigQueryやスプレッドシートなど様々なデータソースを可視化する際に役立ってくれます。

本稿では実際に関数を扱うケースも踏まえてご紹介致します。

※コピーして関数を利用する場合は貼り付け時に一部が全角に置換されていないかなどご注意ください。

※本稿でご紹介している内容を参考にご自身の環境に変更を加える際は自己責任でお願い致します。
記事の内容は2019年6月時点で確認している最新の情報をまとめておりますが、万が一記述内容に誤りがある場合はTwitterのDMなどでご連絡頂ければ幸いです。何卒よろしくお願い致します。

関数を利用できる「計算フィールド」とは

データポータルでは可視化するデータソースとして取り込んだ情報をフィールドとして利用できます。このフィールドは大きく分けると指標・ディメンションの2つに分類されます。

また、データソース内のフィールドに処理を追加した独自の指標・ディメンションを作ることができる「計算フィールド」という機能が存在します。

計算フィールド

この計算フィールドでは様々な処理を行うデータポータル独自の「関数」が利用できます。今回はその中でも使う機会が多いものをご紹介していきます。

条件に合致した場合に任意の結果を返す「CASE」関数

Excel関数のIFのように使えるシンプルな構文

データポータル関数の中でもシンプルで使いやすいCASE関数からご紹介します。ExcelやスプレッドシートのIF関数のように、「条件」と「合致した際に返す値」「合致しなかった際に返す値」の3つを定義することができます。

CASE
WHEN 条件 THEN 結果
WHEN 条件 THEN 結果
WHEN 条件 THEN 結果

ELSE 結果
END

上記の構文のように、

  • WHEN:どんな条件に合致したら
  • THEN:何の結果(値)を返すか
  • ELSE:条件に合致しない場合に何を返すか(任意設定)

を指定することができる関数です。

活用例:GAの地域ディメンションを日本語表記の都道府県へ置換

Googleアナリティクスの「地域」ディメンションは日本語ではなく「Tokyo」「Kanagawa」といった表記がデフォルトです。これを日本語に置換する場合は下記のように使います。

CASE
WHEN 地域 IN (“Hokkaido”) THEN “北海道”
WHEN 地域 IN (“Aomori”) THEN “青森県”
WHEN 地域 IN (“Iwate”) THEN “岩手県”
WHEN 地域 IN (“Miyagi”) THEN “宮城県”
WHEN 地域 IN (“Akita”) THEN “秋田県”
WHEN 地域 IN (“Yamagata”) THEN “山形県”
WHEN 地域 IN (“Fukushima”) THEN “福島県”
WHEN 地域 IN (“Tokyo”) THEN “東京都”
WHEN 地域 IN (“Kanagawa”) THEN “神奈川県”
WHEN 地域 IN (“Chiba”) THEN “千葉県”
WHEN 地域 IN (“Saitama”) THEN “埼玉県”
WHEN 地域 IN (“Ibaraki”) THEN “茨城県”
WHEN 地域 IN (“Gunma”) THEN “群馬県”
WHEN 地域 IN (“Tochigi”) THEN “栃木県”
WHEN 地域 IN (“Yamanashi”) THEN “山梨県”
WHEN 地域 IN (“Nagano”) THEN “長野県”
WHEN 地域 IN (“Niigata”) THEN “新潟県”
WHEN 地域 IN (“Toyama”) THEN “富山県”
WHEN 地域 IN (“Ishikawa”) THEN “石川県”
WHEN 地域 IN (“Fukui”) THEN “福井県”
WHEN 地域 IN (“Aichi”) THEN “愛知県”
WHEN 地域 IN (“Shizuoka”) THEN “静岡県”
WHEN 地域 IN (“Gifu”) THEN “岐阜県”
WHEN 地域 IN (“Mie”) THEN “三重県”
WHEN 地域 IN (“Osaka”) THEN “大阪府”
WHEN 地域 IN (“Hyogo”) THEN “兵庫県”
WHEN 地域 IN (“Kyoto”) THEN “京都府”
WHEN 地域 IN (“Shiga”) THEN “滋賀県”
WHEN 地域 IN (“Nara”) THEN “奈良県”
WHEN 地域 IN (“Wakayama”) THEN “和歌山県”
WHEN 地域 IN (“Okayama”) THEN “岡山県”
WHEN 地域 IN (“Hiroshima”) THEN “広島県”
WHEN 地域 IN (“Shimane”) THEN “島根県”
WHEN 地域 IN (“Tottori”) THEN “鳥取県”
WHEN 地域 IN (“Yamaguchi”) THEN “山口県”
WHEN 地域 IN (“Tokushima”) THEN “徳島県”
WHEN 地域 IN (“Ehime”) THEN “愛媛県”
WHEN 地域 IN (“Kagawa”) THEN “香川県”
WHEN 地域 IN (“Kochi”) THEN “高知県”
WHEN 地域 IN (“Fukuoka”) THEN “福岡県”
WHEN 地域 IN (“Kumamoto”) THEN “熊本県”
WHEN 地域 IN (“Kagoshima”) THEN “鹿児島県”
WHEN 地域 IN (“Saga”) THEN “佐賀県”
WHEN 地域 IN (“Nagasaki”) THEN “長崎県”
WHEN 地域 IN (“Oita”) THEN “大分県”
WHEN 地域 IN (“Miyazaki”) THEN “宮崎県”
WHEN 地域 IN (“Okinawa”) THEN “沖縄県”
ELSE “国外・判定不能”
END

活用例:GAの地域ディメンションを日本語表記の地方エリアへ置換

地域ディメンションを都道府県単位ではなく、関東圏や関西圏などの地方エリアごとのグループにまとめる場合は下記のように使います。複数のOR条件をWHENで指定する場合は半角の , で区切って指定します。

CASE
WHEN 地域 IN (“Hokkaido”) THEN “北海道”
WHEN 地域 IN (“Aomori”, “Iwate”, “Miyagi”, “Akita”, “Yamagata”, “Fukushima”) THEN “東北”
WHEN 地域 IN (“Tokyo”, “Kanagawa”, “Chiba”, “Saitama”, “Ibaraki”, “Tochigi”, “Gunma”) THEN “関東”
WHEN 地域 IN (“Yamanashi”, “Nagano”, “Niigata”, “Toyama”, “Ishikawa”, “Fukui”) THEN “北陸・甲信越”
WHEN 地域 IN (“Aichi”, “Shizuoka”, “Gifu”, “Mie”) THEN “東海”
WHEN 地域 IN (“Osaka”, “Hyogo”, “Kyoto”, “Shiga”, “Nara”, “Wakayama”) THEN “関西”
WHEN 地域 IN (“Okayama”, “Hiroshima”, “Shimane”, “Tottori”, “Yamaguchi”, “Tokushima”, “Ehime”, “Kagawa”, “Kochi”) THEN “中・四国”
WHEN 地域 IN (“Fukuoka”, “Kumamoto”, “Kagoshima”, “Saga”, “Nagasaki”, “Oita”, “Miyazaki”) THEN “九州・沖縄”
ELSE “その他”
END

これらを可視化するとグラフに利用するとこんなまとめ方になります。

日本語化した地域ディメンションのグラフ

CASE関数はご紹介した以外にも比較演算子などを使った様々な応用ができます。詳しくは下記ヘルプを参考に是非トライしてみてください。

CASE – データポータルのヘルプ

 

CASE関数と一緒に活用する「REGEXP_MATCH」関数

正規表現で条件を指定

前項ではCASE関数で完全一致の条件を定義する使い方をご紹介しましたが、REGEXP_MATCH関数と組み合わせて利用することで正規表現のルールで条件を定義することができるようになります。

REGEXP_MATCH関数は下記のような構文です。

REGEXP_MATCH(項目か式, ‘正規表現で定義する合致条件’)

例えばGAの「ページ」ディメンションで

/columns/1
/columns/2

といった末尾の数値のみ違うディレクトリ構造のページ群を「記事ページ」というグループにまとめたディメンションで表示するなら下記のような構文となります。

REGEXP_MATCH(ページ, ‘/columns/\\d+’)

データポータル関数では、RE2スタイルの正規表現を利用する関数があります。GAではエスケープ処理をする際 \ を一度使う所を \\ と二度使う必要があるなど多少使い勝手が異なります。

REGEXP_MATCH – データポータルのヘルプ

Syntax · google/re2 Wiki · GitHub

CASE関数とREGEXP_MATCH関数の掛け合わせ

ようやく本題です。
CASE関数で条件を指定するWHEN句にREGEXP_MATCH関数を挿入すると、完全一致の条件指定ではなくREGEXP_MATCH関数による正規表現に合致した結果を定義することができます。

CASE
WHEN REGEXP_MATCH(ページ, ‘/columns/\\d+’) THEN ‘記事ページ’
ELSE ‘その他’
END

REGEXP_match関数×CASE関数によるディメンション

GAのコンテンツグループのように、正規表現のルールセットで定義したコンテンツグループのような使い方ができます。GAに限らず、部分一致でグループ設定したいケースなどで役に立ちます。

 

正規表現で指定した条件で置換する「REGEXP_REPLACE」関数

正規表現が扱える方に是非使ってほしいのがREGEXP_REPLACE関数です。これは正規表現で指定した条件に合致したら任意の値に置換させることができます。

REGEXP_REPLACE(置換するフィールド,’置換対象を正規表現で指定’,’どんな値に置換するか正規表現で指定’)

上記のような構文で、置換対象フィールド・置換したい箇所と結果の3つを定義します。

記事タイトル末尾を置換する

例えばGoogleアナリティクスをデータソースにして記事ページの効果測定をする表グラフを作成する場合、「ページタイトル」ディメンションを置換したいケースはありませんか?

コンテンツグループで (not set) となるケースと対処法|GAラボ
UTMパラメータ(カスタムキャンペーン)を使いこなす|GAラボ

 

SEO施策としてTitle末尾にサイト名を付けているケースなどでは、表グラフで表示させる記事タイトル部分がごちゃごちゃして邪魔…と思うことがあります。

このような場合はTitleの一部分だけ置換する正規表現を定義したカスタムディメンションを作成します。

REGEXP_REPLACE(ページ タイトル,’|GAラボ’,”)

このように、末尾の部分を空白に置換するように定義したディメンションでは下記のように表示されます。

タイトル末尾を置換したディメンション

曜日を表示させる「WEEKDAY」関数

Search Consoleなどをデータソースとして取り込んだ場合、日付の情報を元に曜日を表示させたいケースなどで役立つのがWEEKDAY関数です。

2回の工程で日付を表すディメンションから曜日を表すディメンションを作成します。

1工程目:日付ディメンションを数値化

1工程目では、日曜日を 0 、月曜日を 1 …といったように、曜日を数値で表示させる指標を作成します。

今回はSearch Consoleの「Date」ディメンションを利用するケースでご紹介致します。

利用する関数はWEEKDAY関数です。これは日付ディメンションを任意の形式の数値で表す関数ですが、今回は10進数の数値を返す形式を指定します。

Weekday関数

WEEKDAY(Date,’DEFAULT_DECIMAL’)

※データポータル関数を利用する際、データソースで利用できるディメンションは緑色の枠組み、指標は青色の枠組みで表示され利用できます。

2工程目:数値から曜日へ置換

1工程目では日付を数値に変換した「指標」を作成しました。2工程目では数値ではなく曜日を表す「ディメンション」を作成します。

利用する関数はCASE関数です。これは、Excelなどで利用できるIF関数のように指定した条件に一致した場合、一致しなかった場合の値を指定することができる関数です。

Weekday関数をCASE関数で置換

CASE
WHEN Weekday_DECIMAL = 0 THEN ‘日’
WHEN Weekday_DECIMAL = 1 THEN ‘月’
WHEN Weekday_DECIMAL = 2 THEN ‘火’
WHEN Weekday_DECIMAL = 3 THEN ‘水’
WHEN Weekday_DECIMAL = 4 THEN ‘木’
WHEN Weekday_DECIMAL = 5 THEN ‘金’
WHEN Weekday_DECIMAL = 6 THEN ‘土’
ELSE ‘other’
END

1工程目で作成した「指標」の値が 0 の時に「日」、1 の時に…といった条件を定義して置換させています。文字列に置換している為、2工程目で作成した上記の設定は「ディメンション」として実装されます。

曜日を表示するための2つのカスタム設定

1工程目のWeekday_DECIMALは数値を表示する「指標」なので青色
2工程目のWeekdayは文字列を表示する「ディメンション」なので緑色

 

任意のURLでリンクを作成する「HYPERLINK」関数

HYPERLINK関数という、データポータルで表示するテキストなどをリンク化する関数をご紹介します。今回は具体例として、GAをデータソースとしたケースでご説明します。

GAで便利な「ページ」リンク機能を再現

Googleアナリティクスではホスト名以降のURL(パス)が「ページ」ディメンションで表されています。

この「ページ」ディメンションにはリンクが表示されていて、ビュー設定の「ウェブサイトの URL」を「ページ」ディメンションに連結させたURLをブラウザの別窓で表示してくれる機能があります。GAビュー設定画面

GAのページディメンションのリンク
クリックすると「ウェブサイトのURL」+「ページ」のURLでリンクを展開します。余談ですが、ウェブサイトのURLが間違っていると計測対象サイト以外のホスト名で連結したリンクになるので注意が必要です。

このように、データポータルでもテーブルに表示したURLをクリックすれば、そのURLをブラウザの別タブで表示するようにしてみましょう。

HYPERLINK関数とCONCAT関数の掛け合わせ

HYPERLINK関数の基本は下記のような構造です。飛び先となるURLとデータポータル上で表示するリンクのラベルの2つを指定するだけのシンプルなものですね。

HYPERLINK(”https://aaa.com”、”リンクのラベル”)

ただし、前述の通りGAの「ページ」ディメンションを利用する場合は少し工夫する必要があります。「ページ」ディメンションはURLの一部分だけを表している状態なので”http~”からURL全体を表示するよう変換する必要があります。

そこで利用するのがCONCAT関数です。

CONCAT関数も非常にシンプルな構造です。

CONCAT(“X”,”Y”)

Xという文字列とYという文字列を連結させ「XY」という1つの文字で表す関数ですね。これを使ってGAの「ページ」ディメンションを押下できるリンクとして表示させます。

リンクになった「ページ」ディメンション

HYPERLINK(CONCAT(“https://aaa.com”,ページ),ページ)

CONCAT関数はテキスト同士を連結させるだけでなく、指標やディメンションを連結させることもできます。今回は”http~”から始まるURLの前半部分のテキストと「ページ」ディメンションを連結させています。

これにより完全なURLとなったページディメンションをHYPERLINK関数で「クリックした際の飛び先となるURL」として指定し、実際に表示させるラベルは「ページ」ディメンションのままにする設定をしています。

リンク化した「ページ」ディメンション
通常の「ページ」ディメンションとリンク化した「ページ ※」ディメンションを表示すると上記のようになります。

応用:PageSpeedInsightsの計測結果をワンクリックで呼び出す

Googleは「PageSpeedInsights」というページの表示速度を評価してくれるサービスを提供しています。

PageSpeedInsightsトップページ

こちらのサービスはURLを入力し、読み込みを待って評価結果のページが開くのを待つ流れですので1つ1つ計測するのは結構手間です。

なので、データポータルで表示させたGAの「ページ」ディメンションをクリックすると計測結果ページを表示させるリンクを生成するディメンションを作成すると便利です。

PageSpeedInsightsでページの評価が完了した際のURLは

https://developers.google.com/speed/pagespeed/insights/?url=計測対象URL

という構造になっています。
これをHYPERLINK関数とCONCAT関数で指定すればOKです。

HYPERLINK(CONCAT(“https://developers.google.com/speed/pagespeed/insights/?url=”,URL),”Report”)

※「URL」という”http~”部分とGAの「ページ」を連結させたディメンションを利用する例

PageSpeedInsightsダッシュボード例

このようなページ表示速度を大量に計測しているダッシュボードなどで採用すると便利です。

キャプチャではAPIを利用して毎日自動で複数のURLの表示速度や評価スコアを計測させていますが、実際にPageSpeedInsightsの画面で速度改善の提案を見たくなることがあったのでリンクを追加しました。

その他おすすめの関数と使い方

データポータル関数は非常に活用の幅が広い機能です。様々なデータソースを可視化する上で便利なので是非興味を持ってまずは使ってみることをお勧めします。

オススメとしてはGTM変数を活用して関数を駆使すると面白い使い方が見つかったりします。

例えば、ページフィルタで任意のページに絞り込むと、そのページでユーザーに視認された画像やテキストを表示させる「計測対象ページをデータポータルで疑似表示させる」読了率レポートなど作れます。

楽しみながら弄ってみると覚えが早いかもしれません。面白い活用方法があれば是非教えてください。本稿でご紹介した関数がお役に立てば幸いです。