Google Cloud Platform IT

Looker30日間無料で使えるみたいなので使い倒してみた! # LookML/ダッシュボード編

2023年8月1日

# 環境構築編では、GCPのLookerから30日間のトライアル環境を構築してみました!
これでLookerにいつでもどこでも触る環境ができたわけなので、この記事では実際にダッシュボードの構築までやってみようと思います!
 

ダッシュボードの構築までには、まずLookerにデータを用意する必要がありますね!
Looker「に」と言いましたが、実はLookerにはデータベースはありません。(厳密には内部データベースはあって、そこにはLookerのログが溜まったりします。)
なので、Lookerは外部のデータベースにあるデータに接続して、可視化をするツールになります。

そのため、まず外部データベースへの接続をして、その後にダッシュボード構築ということになります。

 
そしてここでは以下のようなステップでダッシュボードの構築までをやっていこうと思います!

  • step1. Lookerと外部データベースを繋ぐコネクションを作成
  • step2. step1で作成したコネクションをもとに、LookMLプロジェクトを作成
  • step3. 実際にダッシュボードの構築

 

今回はLookerのデータベース接続先として、GA4のunnestデータである以下のテーブルにLookerから繋いでみたいと思います。
事前にunnestしたテーブルを作成しています。

 

step1. Lookerと外部データベースを繋ぐコネクションを作成

Lookerではconnectionsという言葉があり、これはいわゆるLookerと外部データベースを繋ぐものになります。
ここで繋ぐ設定をすることで、次のstep2で扱うLookMLプロジェクトにて、Lookerでデータを使用する際のディメンションやメジャメントの設定をすることができるようになります。
 

Admin > Database > Connectionsをクリックします。

 

 

そしてAdd Connectionsをクリックして、Lookerからのさまざまなデータベースへの接続先の設定をします。

 

 

今回はBigQueryへ接続します。

項目 説明
Name Looker上で表示されるConnection名
Dialect 接続先のソリューション名(選択式)
Billing Project ID GCPプロジェクトのID
Dataset 接続先のデータセット名
Authentication LookerからBigQueryへの接続の認証方法を選択 ※ 僕はサービスアカウントを選択
P12キーかjson key P12キーかjson keyをアップロード

※ 今回DialectにてBigQueryを選択したため、一部入力項目が違います。

入力後、「test」をクリックして、接続問題ないかのチェックを行います。
接続に問題がなければ緑の表示がされるので、これでconnecをクリックして接続完了となります。

 

 

上の設定が完了すると、connectionsには作成した接続内容が追加されています。
そして緑の箇所には親切に接続が完了しました。次にプロジェクトを作成しましょう!と言ってくれています!
なので作成した接続の情報を用いて、今度はLookerの真骨頂であるLookMLプロジェクトを作成してみたいと思います。

 

 

step2. step1で作成したコネクションをもとに、LookMLプロジェクトを作成

※ これ以降の作業(主にLookMLプロジェクトの構築とGitへの連携)は、Lookerのdeveloper user(開発ユーザー)である必要があります。もしdeveloper userである場合は、画面左下から、Development Modeをオンにしてください。こうすることでLookMLプロジェクトの構築等を行うことができるようになります。
 

 

step1で作成した接続を用いて、実際にLookMLプロジェクトを作成してます。
ちなみに、LookMLプロジェクトの構成やできることについては、こちらの記事で扱ってるので、ぜひご覧ください。

 

 

new LookML Projectをクリックします。

 

 
続いて、

 

 

そうすると、以下のようにLookML プロジェクトが作成されました。
そしてViewファイルが複数作成されています。
接続先のBigQueryデータセットに含まれているテーブル1つ1つに対してViewファイルが作成されていることが確認できます。

 

 

 

普通にデータセットがシャーディングなどのテーブルでなければ、これで作成は問題ないんですが、
ただ、今回接続先のデータセットはGAのunnestした結果のテーブルでシャーディング化しているので、それら1つ1つViewファイルが作成されてしまっています。
例えば1年貯まっていたら、365個のViewファイルが出来上がっていて、特定のディメンションに対して表示を変更したりとviewファイルの変更があれば、365個のviewファイルを変更することになるし、さらに毎日このviewファイルを作成することをしていかなければなりません。
なので、今回はGAのunnestテーブルを1つのviewファイルに集約してみます。

 

+ボタンからCreate Viewをクリックし、そこでファイル名を記載し、空のViewファイルを作成します。

 

そして、Viewファイルにまず以下のコードを記載します。
sql_table_nameパラメータには、自分の接続先のBigQueryのデータセット名とテーブル名(シャーディングテーブル名)を記載します。
そしてYYYYMMDDの箇所については*をつけましょう。
(sql_table_name: `.log_table_*` ;;)

 

view: ga4_unnest {
  sql_table_name: `looker_ga4_unnest.ga4_unnest_*` ;;

  dimension_group: partition {
    type: time
    sql: TIMESTAMP(PARSE_DATE('%Y%m%d', REGEXP_EXTRACT(_TABLE_SUFFIX,r'\d\d\d\d\d\d\d\d')))  ;;
  }
}

 

そして、接続先となるunnestテーブルのディメンション情報をViewファイルに追加していきます。

 

 

 

最後に、
exploreというダッシュボードを作成したり、ディメンションやメジャメントを指定して分析したりする画面で、上記のシャーディング期間のフィルタをユーザーにできるように設定してあげましょう。
conditionally_filterパラメータを用いて行います。
Modelファイルにて以下を追加しましょう!
※ explore名はあなたのview名を入れてください。

explore: ga4_unnest {
  conditionally_filter: {
    filters: {
      field: partition_date
      value: "1 day"
    }
    unless: [partition_date]
  }
}

参考リンク:「シャーディングテーブルへの接続方法」 @Google社

 

では設定完了したので、LookMLプロジェクトをGitに保存しましょう!
LookerではGitによるプロジェクトのバージョン管理となっています。

以下の赤枠のをクリック。bare repo


そしてクリックした後、Create Branchと出るので、そのボタンをクリックします。
これにより、先ほど作成したLookMLプロジェクトがGitサーバでコード管理されるようになりました。
なので、LookMLプロジェクトを用いてダッシュボードの開発が可能になります。

 

step3. 実際にダッシュボードの構築

上で、GithubにLookMLプロジェクトのデプロイが完了すると、実際にLookerのExplore画面からLookと呼ばれるタイルを作れるようになります。
Lookとはダッシュボードの中にあるグラフや表1つ1つのことをLookerではLookと呼びます。
ダッシュボードを作ることは、このLookを作っていくことに値します。

左上のExploreをクリックします。
 

 

以下のような画面になり、そして上で作成したLookMLプロジェクトの「Bigquery Lookml Project」の「Ga4 Unnest」をクリックします。
注意としては、上で作成したLoolMLプロジェクト名は「bigquery_lookml_project」ですが、Exploreでは_はスペースに代わり、頭文字は大文字になって表示されるので要注意です。
Explore名である「ga4_unnest」も同様に、_はスペースになり、頭文字は大文字になって表示されます。

 

 

そうすると、以下のような画面が表示され、
紫枠はLookMLプロジェクトのExploreで定義しているディメンションやメジャメントの一覧とクリックすることで選択し、
赤枠はLookMLプロジェクトのExploreで定義しているフィルターの内容が表示され、
茶枠は紫枠と赤枠で設定した内容によって、集計結果が表示され、
青枠は茶枠での集計結果をグラフで表示してくれる
ところになります。

 

 
実際にディメンションとメジャメントを選択して、画面右上の「Run」ボタンを押すと、以下のように集計結果が表示されます。

 

 

さらに、画面真ん中のVisualizationをクリックすると、下のようにグラフを表示することができます。
さまざまなグラフを表示することができるので、ベストなグラフを選択しましょう!
さらにLookerではjavascriptの描画ライブラリを用いて、さまざまなグラフを構築することも可能です!自分はAmchartsが好きですねー。
 

 

右上マークの歯車マーク>Save>As a New Dashboardでここで作成したグラフを新規ダッシュボードに追加します。
この時ポップアップでダッシュボード名の入力を促されるので入力します。

 

 

そしてダッシュボードを表示すると、以下のようにダッシュボードに先ほど作成したグラフが表示されているのが確認できます。
 

 

これがLookMLプロジェクトからダッシュボード作成までの一連の流れとなります!

 

Lookerを使ってみての総括

Lookerはエンジニア要素が強いBIツールと伺ってましたが、
確かにLookMLの開発については、Lookerの独自言語ということもあり、取得するメリットがあるのかどうかは疑問視ですね。
LookMLを学んだところで汎用性があるわけではないので、習得コストを考えてもあまり良いとは言えなそうな気はしますが、逆にLookMLを勉強してしまえば会社で使うひとなどで1つ有意性を持てたりするという意味ではチャレンジしてみるのも良いかもしれないですね!

さらにコードはgithubやGCPのCloud Source Repositoriesに保存するなど、バージョン管理のスキルも大事になってきます。
総括してもそれなりのエンジニアスキルは必要になりそうです。

-Google Cloud Platform, IT
-

© 2024 Yosshi Labo. Powered by AFFINGER5