Blocksとは
Looker Blocks。Lookerを利用する上でのテンプレート集。
View自体を作るものだったり、外部サービスとの連携、外部データの取り込み、ツールへの埋め込みなど。
これを利用すれば、ViewやDashboardの構築が効率よくできる、という期待があります。
BlocksのTOPページを見ると、以下の様な記載がありました。
Looker Blocks®は、デザインに組み込んで分析を高速化できる、あらかじめ用意されたコードのビルディングブロックです。いちから構築するよりすでにあるものを再利用し、それぞれの仕様に合わせてブロックをカスタマイズします。
ref. LookerでのBlocksのTop
docs(マニュアル)(英語)はこちら。
6つのカテゴリ
- 分析
- ソース
- データ
- データツール
- ビジュアリゼーション
- 組み込み型
Block一覧で見ると結構多いです。
ぱっと見、ソースブロックが多い。(赤いやつ)
Google Analytics や Zendesk、Karteなんかもあります。
調べてみた
数があったので、リストアップしてみました。
こちらの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
こちらのBlogやSteamのページによると、自分のデータセットを使ってみることも可能そうでした。
Oculusが身近にあるので、来年ちょっとチャンレンジしたいと思いました。
まとめ : Blockを使ってみて
- Blockは6つのカテゴリ、ソースブロックが充実している。
- 分析ブロックは、さくっと横展開できず、自分のデータセットと照らし合わせて作る必要がある。
- データブロックが少ない & USA中心なのが寂しい。
- データツールブロックは一度見れば十分かも。
- Blocksは追加できるようだけど、個人レベルではしんどそう?
種類もそれなりにありますが、分析ブロックなどはさくっと使えるという印象じゃなかったです。
ただ、ナレッジとテンプレートという意味では良いと思うので、もっと色んな角度のものが増えるといいなと思いました。