こんにちは、donutです。
今回は、「LookMLでのデータ可視化方法」について試してみました。
なお、Lookerについては、下記の記事においても概要等を紹介しておりますすので、あわせてお読みいただければと思います。
<参考>
◆次世代BIプラットフォーム「Looker」についてご紹介
◆LookerとBigQueryのデータを連携させる方法についてご紹介します
LookMLを開発する際に、最初に作る箱のようなものをLookerではプロジェクトと呼びます。
プロジェクトの中身は複数のLookMLファイルで構成されており、主な要素としてモデルファイルとビューファイルがあります。
◆モデル:どのデータベースと接続するのかを指定し、テーブル同士での結合など、
テーブル単位で定義を行います。
また、モデル内ではExploreとJoinが定義されています。
・Explore:ユーザー側が求めるデータへアクセスし、データを可視化する場所です。
Lookerが生成するSQLでFROM句を表しています。
・Join:Exploreでビューを結合する要素の一つであり、Lookerが生成するSQLでは
JOIN句を表しています。
◆ビュー:接続したテーブルの参照及び定義(情報抽出、集計など)を行います。
こちらでは、ディメンションとメジャーが定義されています
・ディメンション:テーブルの列をLookMLオブジェクトにしたもの。
Lookerが生成するSQLでGROUP BY句やSELECT句を表しています。
・メジャー:集約計算(COUNT,SUM,MIN,MAX)を定義し、他のメジャー同士の計算も可能です。
◎参考元:https://cloud.google.com/looker/docs/what-is-lookml?hl=ja#:~:text=LookML
大まかな実装の流れとしては、下記のようになります。
1.Viewファイルを作成し、接続したテーブルをどのように使うのかを定義する。
2.ViewファイルをModelファイルから呼び出し、テーブル(データセット)同士の結合や、利用対象のテーブルなどを定義していく。
3.[2.]で定義したデータセットを使用してExplore上で表やグラフを作成、データとして可視化を行う
これらを踏まえて順番に作成手順を辿っていきたいと思います。
①File Browser画面右側にある[+]をクリックし、「モデルの作成」をクリックします。
②モデル名を設定し、「Create」をクリックすることでモデルの作成が完了します。
作成したModelファイルを開き、どのようにLookMLが作成されているか確認してみましょう。
(例として先ほど作成したindex.nod.model.lkmlを参照しています)
モデルファイル内で記載や確認が必要な主要の設定項目として下記があります。
◎connection:接続対象のプロジェクト名を指定します
◎include::modelファイル内で使用するviewファイルの
ディレクトリ(フォルダ名)を指定します。
※デフォルトではviewsフォルダ配下をワイルドカード(*)で
指定しているため、変更せずに使用しても問題ありません。
◎explore:ベースとなる結合先のviewファイル名を記載します。
▼以下はexplore内で定義可能な項目です▼
◎join:結合対象のviewファイル名を記載します。
◎type:結合方法を記載します。デフォルトでは[left_outer]が指定されます。
※[full_outer]/[inner]/[cross]も指定可能です。
◎rerationship:結合対象の2つのテーブルがどのような関係性なのかを設定します。
デフォルトでは[many_to_one]が指定されます。
※[one_to_many]/[one_to_one]/[many_to_one]/[many_to_many]も指定可能です。
◎sql_on:キーとなり、結合対象となる項目を設定します。
SQLではON句を指しています。
①File Browser画面右側にある[+]をクリックし、[テーブルからビューを作成]をクリックします。
②Create View From Tablesで[Select a Database Connection]をクリック、接続先を選択します。
(ここでは例として「niigata_open_data_donut」を指定しています)
③選択対象のスキーマが表示されたら、対象テーブルのチェックをオンにします。
(今回は全項目を指定しています)
全てのテーブルのチェックをオンにしたら、[Create Views]をクリックします。
以上でビューファイルが自動生成されました。同時に、ビューとモデルのフォルダも
作成されていることも確認できます。
各Viewを開き、どのようにLookMLが作成されているか確認してみましょう。
(例としてcity_master.viewを参照しています)
ビューファイル内で記載が必要な主要の設定項目としては下記があります。
◎sql_table_name:接続対象の「スキーマ名」と「テーブル名」を指定します。
◎dimension:軸(カラム)の定義を記載します。記載が必須となる
パラメータとして「type」と「sql:」があります。
・type→設定可能な値としては以下になります。
number(数値型)、string(文字列型)、date(日付型)、
yesno(SQLに記載の条件に対してyesもしくはnoで値を返す)
・sql:→どのカラムが対象のディメンションに当てはまるのかを記載します。
・${TABLE}."dimension名":テーブル定義で呼び出されたテーブルから
対象項目を指定します。
・${dimension}:別のディメンションで定義された項目を指定します。
また、接続先のデータベース関数を利用してSQL文の
記載/変更も可能です。
◎measure:集計値を定義します。記載が必須のパラメータは「type」になります。
・type→設定可能な値としては以下になります。
count(桁数)、count_distinct(重複を除外して集計)、
sum(SQLで指定した項目の合計値)、average(SQLで指定した項目の平均値)
①Viewの作成が終了したら、画面右上の[Validate LookML]をクリックします。
②問題がなく、「エラーなし」と表示されたら[Commit Changes & Push]をクリックします。
③コミット対象ファイルが表示されたら、 メッセージを記入して[Commit]をクリックします。
以上でコミットが完了しました。
今回は、モデルファイルとビューファイルの作成/確認方法についてご紹介いたしました。
次回の記事では、引き続きExploreを活用したグラフ可視化に向けて進めていきたいと思います。
なお、弊社ではLookerに関する資料を公開中です。
もしご興味がありましたら、下記ページよりダウンロードが可能ですのであわせてご参照ください。
<参考>
◆Looker概要資料