5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

LookerAdvent Calendar 2019

Day 19

Looker Blocksについて

Last updated at Posted at 2019-12-18

Blocksとは

image.png

Looker Blocks。Lookerを利用する上でのテンプレート集。
View自体を作るものだったり、外部サービスとの連携、外部データの取り込み、ツールへの埋め込みなど。

これを利用すれば、ViewやDashboardの構築が効率よくできる、という期待があります。

BlocksのTOPページを見ると、以下の様な記載がありました。

Looker Blocks®は、デザインに組み込んで分析を高速化できる、あらかじめ用意されたコードのビルディングブロックです。いちから構築するよりすでにあるものを再利用し、それぞれの仕様に合わせてブロックをカスタマイズします。

ref. LookerでのBlocksのTop

docs(マニュアル)(英語)はこちら

6つのカテゴリ

このBlocksは、大きく6つのカテゴリがあります。
image.png

  • 分析
  • ソース
  • データ
  • データツール
  • ビジュアリゼーション
  • 組み込み型

image.png

Block一覧で見ると結構多いです。
ぱっと見、ソースブロックが多い。(赤いやつ)
Google Analytics や Zendesk、Karteなんかもあります。

調べてみた

数があったので、リストアップしてみました。

image.png

こちらのGoogleSpreadSheetにまとめています。

※HTMLのタグベースでの抽出。
※集計の都合上、ActionHubも混じっています。

集計しました。

全部で、124個ありました。
※Action Hub (アクション) 除く

分類(訳) Block
ソース 76
分析 21
アクション 16
組み込み型 12
Viz 8
データ 5
データツール 2
Grand Total 140

やはりソースが多いのは、フィルタにもある著作者など、接続を提供している企業が多いのがありそうですね。
Looker社を除くと、44社が Blocks / Actions を提供していました。

Googleで検索すると。。。

Lookerサイト以外だと、あまり少ないですね。
Developers.IO(クラスメソッドさん)には、Blocksの解説がいくつかありました。

[Developers.IO]Looker Blocks™のSource Blocksを試してみる #looker
AdventCalender 12/12の記事でもあります。

Looker Blocksを使ってZendeskのデータをお手軽にビジュアライズ #looker
こちらは、ソースブロックの解説(Zendesk)です。

Looker Blocks™のViz Blocksを試してみる #looker
こちらは、Vizブロックの解説です。

KarteさんのBlocks導入
KarteさんのData Hubと、そのままView / Dashboardの雛形が入っている。
データさえあれば、速攻で可視化でき、まさにBlocksのテンプレートの真骨頂。

使ってみた

ここでは記事になっていなかった、分析、データ、データツールの3つを試してみました。
※細かい部分は別記事でまとめる予定です。

分析ブロック

試したのは、「統計的有意性判定を用いたABテスト」です。

1. データセットの準備

データセットはこちらのものをお借りしました。
[Kaggle]A/B testing

2. Blockの利用

Blockを選択すると、こちらのページに飛びます。
ここでは、このBlockがどういうものか概要レベルで記載されています。

「See the Code」のボタンをクリック後、今度はHelpページに飛びます。

どうやらここではcodeを配るのではなく、考え方のレクチャーに近い感じでした。

3. ページ記載に従って、実装

  • 結構時間がかかりました。
  • 突然現れた派生テーブル:user_order_facts
    • 内容が分からないので、ある程度想定しながら。
  • BigQuery(Legacy)に対応していない関数使っていた(POWER / STEDEV ALL)
  • )閉じがない。。。
sql: 1.0 * STDDEV(all CASE WHEN NOT ${a_b} THEN ${user_order_facts.lifetime_orders} ELSE NULL END ;;

分析ブロックを使ってみて

  • 何個か見てみたけど、基本的に、discourseやhelpのページに飛ぶ。
  • 作るに当たっての導出と、lookmlの一部が書いてある感じ。
  • でも、ここから自分の環境に合わせて、カスタマイズが必要。
    • 内容をある程度理解して、手元のデータセットに合わせてある程度修正が必要。
    • ここが少し時間かかるし、サンプルのlookmlがそのまま使えないかも。
    • ABテストのときは、t_score出す計算式が予め書いていたので、そこは楽かも。

データツールブロック

2つしかないので、「コホート分析」を試してみました。

中身は?

This block builds on the concepts described in our Cohort Block and allows for further customization based on user-selected criteria.

このBlockは、分析ブロックにある「Cohort Block」をベースにし、メジャーをパラメータで可変にできるのがポイントらしいです。

記載されていたのは、parameterによって、表示するmeasureを動的に変えるtipsでした。

parameter: measure_picker {
  type: string
  allowed_value: { value: "Cumulative Revenue" }
  allowed_value: { value: "Transactions" }
  allowed_value: { value: "User Count" }
  allowed_value: { value: "Active Users" }
}

measure: cohort_values {
  type: number
  hidden: yes
  sql: CASE WHEN {% parameter measure_picker %} = 'Cumulative Revenue' THEN ${cumulative_revenue}
      WHEN {% parameter measure_picker %} = 'Transactions' THEN ${order_count}
      WHEN {% parameter measure_picker %} = 'User Count' THEN ${user_count}
      WHEN {% parameter measure_picker %} = 'Active Users' THEN ${active_user_count}
      ELSE 0
      END ;;
}

以上でした。

データブロック

試したのは、「人口統計データ」です。

こちらはLookerが用意しているデータ+LookMLが提供されるので、自環境に取り込んでExploreなどで使用していくイメージです。

1. まずは、Githubに移動

こちらには、以下が格納されています。

  • readme
  • 各データソース(Redshift, BigQueryなど)に対応したModel/Viewファイル

2. データの取得

データソースは、S3にあります。
readmeにも、AWS S3→Redshiftへの送信方法が記載されていました。

また、Google Cloud Storageにもあるらしいです。(ソースはこちら)
gsutilを使って、ダウンロードできます。

bash-3.2$ gsutil ls gs://looker-datablocks/acs_fast_facts
gs://looker-datablocks/acs_fast_facts/
gs://looker-datablocks/acs_fast_facts/acs_answers_2015_leaf
gs://looker-datablocks/acs_fast_facts/acs_questions_2015
gs://looker-datablocks/acs_fast_facts/block_group_attribs
gs://looker-datablocks/acs_fast_facts/fast_facts
gs://looker-datablocks/acs_fast_facts/geo_2015
gs://looker-datablocks/acs_fast_facts/geography_map
gs://looker-datablocks/acs_fast_facts/zcta_distances
gs://looker-datablocks/acs_fast_facts/zcta_distances_0
gs://looker-datablocks/acs_fast_facts/zcta_distances_1
gs://looker-datablocks/acs_fast_facts/zcta_distances_2
gs://looker-datablocks/acs_fast_facts/zcta_distances_3
gs://looker-datablocks/acs_fast_facts/zcta_distances_4
gs://looker-datablocks/acs_fast_facts/zcta_distances_5
gs://looker-datablocks/acs_fast_facts/zcta_distances_6
gs://looker-datablocks/acs_fast_facts/zcta_distances_7
gs://looker-datablocks/acs_fast_facts/zcta_distances_8
gs://looker-datablocks/acs_fast_facts/zcta_distances_9
gs://looker-datablocks/acs_fast_facts/zcta_to_tract_w_state

3. LookMLの設定

使用しているデータソースに応じた、model/explore/viewのLookMLファイルが置いてあるので、これを使用します。

connectionや接続先のテーブル名などは予め記載されているので、自環境と情報が違う場合は修正が必要です。

おもしろBlock

最後に、Blocksを見ていて気になったのがコチラです。
LookVR

動画を見ると、ちょっとおもしろいなって思いました。
(巨大な棒グラフに登っている)
https://youtu.be/u76ww3NJFgE

こちらのBlogSteamのページによると、自分のデータセットを使ってみることも可能そうでした。
Oculusが身近にあるので、来年ちょっとチャンレンジしたいと思いました。

まとめ : Blockを使ってみて

  • Blockは6つのカテゴリ、ソースブロックが充実している。
  • 分析ブロックは、さくっと横展開できず、自分のデータセットと照らし合わせて作る必要がある。
  • データブロックが少ない & USA中心なのが寂しい。
  • データツールブロックは一度見れば十分かも。
  • Blocksは追加できるようだけど、個人レベルではしんどそう?

種類もそれなりにありますが、分析ブロックなどはさくっと使えるという印象じゃなかったです。
ただ、ナレッジとテンプレートという意味では良いと思うので、もっと色んな角度のものが増えるといいなと思いました。

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?