GoogleデータポータルでCASE文を使ってデータをグルーピングする方法

This post is also available in: English

Ads

はじめに

関連画像

本記事ではGoogleデータポータルを使って、データを任意のグループに分類する方法について説明をします。

Googleデータポータルについて知りたい場合は以下の記事をご覧ください。

Googleデータポータルで簡単かつ魅力的なデータの可視化を実現できる!

Googleデータポータルにおいて、計算フィールドを活用することで任意のデータグループを作ることができます。

例えば以下のような時に対応することができます。

  • 英語ユーザーと英語以外ユーザーにしたい
  • ソーシャルメディアユーザーを括りたい
  • 特定のURLのページをグルーピングしたい
  • 特定のエリアをまとめたい

計算フィールドとは

計算フィールドはGoogleデータポータルにおいて、データソース内のフィールドに任意の処理や計算を施した独自の指標やディメンションを作ることができる機能です。

計算フィールドの使い方

リソース > 追加済のデータソースの管理 > 任意のデータソースの「編集」を選択。

右上のフィールドを追加をクリックします。

出てきた数式の編集画面が計算フィールドです。

CASE文とは

CASE文では既存データをグルーピングしたり新しく定義をしたりする際に多用される関数です。

たとえば、指定の国の値を [営業地域] ディメンションにまとめるには、次のような CASE 文を作成します。

以下Googleデータポータルのヘルプを引用します。

CASE
 WHEN 国 IN (“アメリカ”,”カナダ”,”メキシコ”)THEN “北アメリカ”
 WHEN 国 IN (“イギリス”,”フランス”)THEN “ヨーロッパ”
 ELSE “その他”
END

 

CASE文を作るにはデータソースの編集権限が必要になります。

 

上記の例では、指定した国をエリアにまとめていることが確認できるかと思います。

これを応用すると以下のようなことができます。

 

例:
東京、千葉、埼玉などの関東都道府県を”関東エリア”とまとめたい
“日本語”と”英語”や”中国語”などの日本語以外のユーザーを”日本語以外ユーザー”としてまとめたい
ソーシャルメディアの中で特に“twitter”と”Facebook”から来たユーザーを”注力SNSユーザー”とフラグをたてたい etc.

 

例えば、Googleアナリティクスをソースにしているデータの中で、「日本のユーザーと日本以外の国のユーザーを分けたい」といったケースで考えてみましょう。

基本的な考え方としては、日本以外ユーザー、例えば、”アメリカ”や”中国”などの他の国のユーザーをグルーピングするという考え方になります。

 

CASE文の基本的な構文は以下になります。

 

CASE
 WHEN 条件 THEN 結果
 ELSE 結果
END

 

CASEからはじまり、ENDで終わります。

この条件の時はこの結果を示す。それ以外であればこの結果を示す。といった考え方です。

 

Googleアナリティクスにおいて国を選ぶディメンションは”国”となります。

また、国はJapanやChinaなど英語で表記をされています。

ここらへんは実際にGoogleアナリティクスを見ながら確認ができます。

具体的な構文は以下になります。

国がJapanの時は「Japan」と定義する。それ以外は、「Japan以外」と定義する。

という意味になります。

 

CASE
 WHEN 国 IN (“Japan”) THEN “Japan”
 ELSE “Japan以外”
END

具体的に計算式を入力します。

「項目名」は自分がわかりやすい任意の言葉を入れます。

数式が問題なければ計算式の左下に以下のマークが出て来ます。

マークが出ていることを確認したら更新をクリックします。

データソースからも計算フィールドの追加が確認できます。

データポータルで先ほど編集したデータソースを設定します。

例えば、デイリーで日本と日本以外のページビューを見たい場合は以下のように設定しました。

  • ディメンション:日付
  • 内訳ディメンション:日本以外 *先ほど作ったフィールド
  • 指標:ページビュー

 

REGEXP_MATCH関数

もう1つREGEXP_MATCH関数を紹介します。

REGEXP_MATCHは入力フィールドが正規表現と一致する場合に true を返します。

 

REGEXP_MATCH(条件,正規表現)

 

詳細は、Google公式サイト

 

例えば、Googleアナリティクスにおいて英語ユーザーをグルーピングしてみたい場合を考えて見ましょう。

英語ユーザーは、en-usやen-gbのようにおそらく国によって表現が分かれています。

“en-”を正規表現としてグルーピングしてみましょう。

言語で”en”が入っているデータはEnglishと定義し、それ以外は”Non- English” と定義しました。enという文字列を抽出できたら、Englishとするとなります。

計算フィールドは以下のようになります。

 

CASE
WHEN REGEXP_MATCH(言語,”(.*en.*)”) THEN “English”
ELSE “Non- English”
END

 

データポータルでビジュアライズすると以下のように、EnglishとNon- Englishで表示されていることが確認できました。

以下の場合は、大文字小文字を区別します。

“(.*正規表現.*)”

 

大文字小文字を区別しない場合は(?i)を加えて、以下の表現をします。

“((?i).*正規表現.*)”

 

最後に

本記事ではGoogleデータポータルにおいて、CASE文を活用することで任意のデータを任意のグループに分類できることがお分りいただけたかと思います。

以上で記事を終わります。

 

フォローして最新情報をチェック!
Ads
%d人のブロガーが「いいね」をつけました。