[レポート] ハンズオン/Extends機能 – Looker:JOIN 2019 at San Francisco #looker #JOINdata

2019.11.30

現地時間2019年11月05日〜07日の期間、米国サンフランシスコで開催されているLookerの年次カンファレンスイベント『JOIN 2019』。今年2019年のイベントは、弊社から3名のメンバーが現地参戦しました。

参加レポート各種については下記シリーズをご参照ください。

当エントリでは、その中からハンズオンセッション『Hands-on Lab: Extends: The End of Endless Rewriting(ハンズオンラボ:拡張:終わりのない書き換えの終わり)』の内容について参加レポートをお届けします。

目次

 

セッション概要

セッションの概要は以下の通りです。

[登壇者情報]:
・Chris Brummett (Director of Software Development and Enterprise Data Management in 2019 / The Chicago Cubs)
・Rachel Stewart (senior consultant with the Analytics practice / Trianz)

[セッション情報]:
Hands-on Lab: Extends: The End of Endless Rewriting
(ハンズオンラボ:拡張:終わりのない書き換えの終わり)

If the programmer’s motto is “Don’t repeat yourself” then Looker’s Extends parameter can help. The focus of this session is to demonstrate the power of Extends and how it can be used to reuse code and create patterns and features that can be rolled easily into a model without repeating yourself. Join us to learn more about this powerful alternative to endlessly rewriting code.
(プログラマーのモットーが「繰り返してはいけない」である場合、LookerのExtendsパラメーターが役立ちます。 このセッションの焦点は、Extendsのパワーと、コードを再利用し、繰り返し繰り返すことなくモデルに簡単にロールインできるパターンと機能を作成するためにそれを使用する方法を示すことです。 無限にコードを書き換えるこの強力な代替手段の詳細をご覧ください。)

 

セッションレポート

 

拡張とは

拡張(Extends)とは『モデル開発用のビルディングブロックを作成する』機能。モジュール化してビルディングブロックと機能を作成する事が出来る。

使用する理由としては以下の様なものが挙げられる。

  • DRY(自分自身を繰り返さない)コードを書ける
  • より簡単に変更を加えることが出来る
  • コード全体の一貫性を確保出来る -さまざまなユーザーのさまざまなフィールドセットまたはユースケースをより簡単に管理出来るようになる

オブジェクト指向コーディングの原則をLookMLに適用し、LookMLオブジェクトを拡張=その内容を別のLookMLオブジェクトと組み合わせることが可能となる。ここで言っている『LookMLオブジェクト』とは以下のものを指す。

  • Views
  • Explores
  • LookML dashboards

拡張の適用例としては、以下の様なものが挙げられる。

  • ビューにフィールドを追加:ビューを拡張して追加のフィールドを含めることができる
  • ビューのテーブルを変更する:オブジェクトのパラメーターをオーバーライドしていると見なすことができる

 

テンプレートの作成

拡張機能を使うと、『ベース部分を変更』することも可能に。

擬似コードの例:テンプレートファイルを作成し、拡張対象のビューでそのテンプレートファイルを指定。

 

Extendsエクササイズ

最後に、Extends機能を使った『カスタムTier』のエクササイズが行われました。

ビジネスシナリオ:

  • データには、多数の個別の数値を持つ多数の数値ディメンションがある
  • これらの値の範囲は、使用されているフィルターなどに応じて劇的に異なる場合がある

課題:

  • 検索ディメンションごとに、カスタムティア機能を追加して、ユーザーがオンザフライでティアを定義できるようにする
  • 拡張機能を実装して、一貫性を確保し、将来の拡張を容易にする

実践:

  • カスタムティア機能の2つの「バージョン」、ユーザー年齢ティアとセール価格ティアを実装

最終的な実装と適用例は以下の様なイメージ。

 

まとめ

以上、Looker:JOIN 2019ブレイクアウトセッション『Hands-on Lab: Extends: The End of Endless Rewriting(ハンズオンラボ:拡張:終わりのない書き換えの終わり)』の参加レポートでした。

Looker開発・運用を続けていくとどうしても情報の再利用、機能拡張を迫られる局面が増えてくることと思います。その際はこのExtends機能を使うことで修正を最小限に、且つ最大効率で目的が実現可能です。

LookerのExtends機能については、下記情報源も参考になります。合わせてご参照頂けますと幸いです。