はじめに

この記事では Lookerの疑問点についてまとめた記事です。主な内容としては実践したときのメモを中心に書きます。(忘れやすいことなど)
誤りなどがあれば書き直していく予定です。なお、内容につきましては2023年9月8日時点の調査内容で記載しております。あらかじめご了承ください。

LookerやLookMLについて前提知識をおさらいしたい方につきましてはiret.mediaで解説していますので一度目を通していただけますと幸いです。

用語を整理しながら学ぶLooker

Lookerを始めるとよく浮かぶ疑問

  • Looker自身はデータベースを持つのか
  • Modelとはなにか
  • Viewとテーブルは何が違うのか
  • derived_tableとは
  • Lookerの分析機能には主に何があるか
    • SQL Runnerとは
    • explorerとは
    • Lookとは
    • ダッシュボードとは
    • LookMLプロジェクトとは
  • LookMLとは
  • LookMLの主な構成要素
    • ディメンションとは
    • メジャーとは
    • 表計算とは

Looker自身はデータベースを持つのか

Looker自身はデータベースを持ちません。DBは外部接続して利用します。
Google Cloud上のデータベースだけでなく、コネクタがあれば、外部のDBに対しても接続できます。

Modelとはなにか

Lookerに接続されたデータベース情報やViewを持つポータルのことを指します。

なお、ビューの中にはテーブルも存在します。テーブルはビューとしてカウントされます。
ModelはLookMLというLooker特有の言語で記述され、LookMLプロジェクト内で定義されます。

Viewとテーブルは何が違うのか

ほぼイコールです。ただし、異なる点としてテーブルはデータベースにある内容をそのまま参照しているだけであり、Viewはテーブルから列選択や集計などの操作をして作成するものです。特定の用途に特化したテーブルがViewという認識で問題ありません。

derived_tableとは

derived_tableはビューが持つテーブルもしくはDBのテーブルに対してクエリを実行し、実行結果をビューとして利用できる機能のことです。

別名では派生テーブルと呼ばれ、SQLベースとネイティブの2つに分かれます。

SQLベースの派生テーブルとは

特定のテーブルに対してスクラッチでSQLを記述してデータを取り出し、ビューとして作成したものです。細かくデータを取り出せるメリットがある反面、SQLの知識が必要です。

ネイティブ派生テーブルとは

SQLを書くことなく、LookerのexplorerでViewを作成した場合はこれに該当します。
SQLを必要としないのでより簡単にデータを取り出せます。

Lookerの分析機能には主に何があるか

Lookerには主に以下のような機能が備わっています。

  • SQL Runner
  • explorer
  • Look
  • ダッシュボード
  • LookMLプロジェクト

SQL Runnerとは

文字通り、Looker上でSQLを実行する機能です。接続先のDBに合わせてデータを細かく取り出したい時に利用します。また、既存のSQL資産を利用することも可能です。

SQLを実行して取り出したデータは一つのViewとして保存が可能であり、LookMLプロジェクトに保存できます。
LookMLプロジェクトに保存したViewはModelに登録することでexplorer上で参照できるようになります。

explorerとは

読んで字の如く、LookMLプロジェクト上で定義したModel内にあるViewを探索してデータを取り出す機能です。Viewをさらにドリルダウンすることも可能です。
explorerで取り出したデータはLookとして保存できます。

Lookとは

explorerで取り出したデータを可視化する際に利用する機能であり、可視化の単位です。
ダッシュボード上に配置することで可視化ダッシュボードを作成できます。

ダッシュボードとは

Looker上で作成できる画面の一つです。Lookを配置して利用します。
また、ダッシュボード上にはダッシュボード上に配置したLookにフィルタをかけることができます。なお、簡易的なボタンやREADME.md、テキストなども配置できます。

LookMLプロジェクト

Looker上で定義したModelやView、ダッシュボードなどをプロジェクトとして管理できる機能です。開発者モードをオンにすることでプロジェクト上のファイルをコードベースで編集できます。また、プロジェクトにはGit管理機能が存在します。

加えて、GitHubのリモートリポジトリと連携することによってLooker上で定義したModelやView、ダッシュボードなどをリポジトリとして管理できます。

LookMLとは

Looker特有の言語です。Looker上で定義されるもの(Model、View、ダッシュボード)をコードで記載できます。LookMLはLookMLプロジェクト上で管理されます。

LookMLの主な構成要素

LookMLの構成要素は下記の通りです。

  • Model
  • View
  • dashboard

Modelの構成要素

  • connection
  • datagroup
  • キャッシュ設定
  • Viewの登録情報(Explorerから利用できるようにする設定)

Viewの作成時に必要な要素

具体的には下記の通りです。

  • デイメンション
  • メジャー
  • 表計算

ディメンションとは

テーブルまたはViewから取得できる値を表現する時に利用します。次に説明するメジャーの数値にも利用されます。

メジャーとは

メジャーは計測値として数値を保存するための項目です。ダッシュボード上に載せる可視化を作成する際にはメジャーが必要になります。
また、Lookerのアラートを作成する際にも必要となります。

表計算とは

出力済みのデータ(射影済みのデータ)から計算してメジャーと同じように計測値を得る項目です。Excelの表計算と同じで計測値に利用するデータはディメンションもしくはメジャーとして出力されていなければいけません。

ゆえに表計算として出力したデータには必ず2つ以上のディメンションもしくはメジャーが入ります。

まとめ

Lookerにはさまざまな用語がありますが、ベーシックに使う上ではそこまで覚えることは多くありません。しかし、凝ったことをやろうとするとそれなりに基礎知識が問われるのでしっかり基礎を身につけておきましょう。