Lookerで経営データ分析!#4 Lookerへのデータ接続、モデリング(LookML)

こんにちは!めっきり涼しくなって秋らしくなってきましたね。今回はLookerへのデータ接続とモデリング(LookML)の話です。
Lookerは60以上のデータベースに接続対応しています。
https://docs.looker.com/setup-and-management/database-config
AWS、AzureのDBやMicrosoft SQL Server、MySQLなど著名なDBは大体サポートしていますね。#1でも触れましたがローカルファイルの取り込みはサポートしていません。データの完全性推進やセキュリティ担保のポリシーを見れば、納得という感じです。

DB接続自体は10分で終わるくらい簡単です。DBはBigQueryなので、Looker接続用のサービスアカウントを作成→JSONキーをLooker画面で設定して接続認証します。
https://docs.looker.com/ja/setup-and-management/database-config/google-bigquery

LookerからDBを参照できる状態になったので、次にLookMLを作っていきます。LookMLはDBとユーザの間のモデリング層にあたります。
例えばDBの売上や契約率などのデータをLookerで表示するときに、合計で出すか平均で出すか定義したりします。(売上→合計、契約率→平均ですね)
LookMLオブジェクトはいくつかのレイヤーで構成されていて、最初分かりにくいと思うので説明します。

画像1

Project
最上位オブジェクトです。異なるデータソースで使用します。Gitのバージョン管理がこのレイヤーで行われるのでプロジェクト毎に切り分けるといいでしょう。
Models
このレイヤーで複数テーブルのJOINや下のレイヤーのExploresを定義します。接続DBのこの範囲のデータを使いますっていうその名の通り、データモデルのレイヤーです。
Explores
ユーザのデータ分析の出発点となるレイヤーです。売上明細、広告費などビジネステーマに合わせてまとめるといい感じです。
Views
Views = DBのテーブルです。Looker上でJOINした仮想テーブルもViewsに対応します。Viewsの中にDimension、Measureが含まれ、Dimensionが期間や売上区分、顧客属性などのデータを見る切り口、Measureが売上や契約数などの指標です。
例えば 期間 * 売上区分 * 売上 で特定期間の売上区分別の売上
売上区分 * 顧客属性 * 売上 で売上区分別の各顧客属性の売上です。
このようにViewsで作ったDimensionとMeasureの掛け合わせがデータ分析の入り口になります。

プロジェクトがあり、データモデルがあり、ビジネステーマ毎にまとめたエクスプローラーがあり、DBの1テーブルとイコールのビューがある...という流れです。若干煩雑そうに見えますが、データソースがきちんと整形されていれば、LookMLではMeasureを定義するだけですぐに可視化できます。

画像2

DimensionとMeasureを選択、実行で可視化!
このままダッシュボードにグラフとして配置したり、メールやSlackに可視化データを送れます。

まとめるとBigQueryに集めて一元化したデータをLooker接続、LookMLでビジネステーマ毎にExploresを切り分けて、DimensionとMeasureを作成。
DimensionとMeasureの選択で可視化がLooker上で簡単にできるようになりました。1クリックで見たいデータがすぐ可視化されるのは爽快です..

この記事が気に入ったらサポートをしてみませんか?