Lookerで作成したグラフ上でドリルダウンできるようにする

ドリルでグリグリ
2020.01.30

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

大阪オフィスの玉井です。

Lookerで下記のようなグラフを作成したとします。

地域別の注文件数を棒グラフにしたものです。こういうグラフを作った時、例えば「East地域の注文データの詳細がみたい」みたいなことって思ったりしませんか?Lookerの場合、LookMLでドリルダウンの記述を行えば、それが実現できます。

drill_fields

ドリルダウンの仕方を簡単に言うと、元となるdimensionやmeasureにdrill_fieldsというパラメータを指定するだけです。

冒頭のグラフは注文件数を可視化しています。使用しているデータは1レコード=1注文件数なので、レコードをカウントしているmeasureにパラメータを記述します。

measure: count {
  type: count
  drill_fields: [order_id, product_name, customer_name]
}

measure内にdrill_fieldsというパラメータを記述し、括弧内にドリルダウン後に表示するフィールド名を書いていきます。

冒頭で紹介したグラフを今一度作成して、Eastの棒を選択すると…

drill_fieldsで指定したフィールドがカラムとなったテーブル表が表示されます。右上のメニューからは、さらにこの表を元にExploreに遷移したり、ドリルダウンしたデータをダウンロードしたりすることもできます。

ドリルダウンしたい項目を使い回す時はset

上記のように、ドリルダウンしたいdimensionやmeasureにdrill_fieldsを指定すれば、グラフでドリルダウンすることができます。

データ分析を進めていくと、色々なdimensionやmeasureに対してドリルダウンを指定する必要が出てくると思います。ただ、そのたびにいちいちdrill_fieldsを書くのは少々面倒です。

もし、ドリルダウンするフィールドが共通しているのであれば、コピペを繰り返すのではなく、setで一箇所に指定おきましょう。

set: count_drilldown {
  fields: [
    order_id,
    product_name,
    customer_name
  ]
}

上記のような形でドリルダウンした時のフィールド名を一箇所に定義しておくことができます。こうしておけば、drill_fieldsに対する記述は、下記の通りで済みます。

measure: count {
  type: count
  drill_fields: [count_drilldown*]
}

[<setの名前>*]と記述することで、そのsetに定義しているフィールドをドリルダウン項目として使い回すことができます。こうやって、システム開発のコードのように、一度書いたことを繰り返さないようにしていくのがLookerの流儀ですね。

おわりに

drill_fieldssetを使いこなして、じゃんじゃん掘り進んでいきましょう。

参考資料