Looker Studio のここが残念(でも愛してる)
はじめに
はじめまして。アイデミーのデータエンジニア?の Yuto Shinahara です。
無償 BI サービスのデファクト的存在で、アイデミー社内でも全社のダッシュボードとして活用している Looker Studio。
Web 上でも Looker Studio age↑↑ な記事はたくさん出てきますが、今回は私が1年以上使う中で見えてきたその残念な側面にあえて焦点を当ててみます。
同サービスを利用中、または利用検討中の方への参考情報になれば幸いです。
(とはいえ、表題に記載のとおり、私は Looker Studio 大好きです!!)
Looker Studio とは
- Google 製の無償 BI ツール
- Google スプレッドシート, Google アナリティクス, Google Cloud のサービス(BigQuery, Cloud SQL for MySQL, GCS, etc.)を始めとし、その他にも基本的な RDB サービス (MySQL, PostgreSQL, SQL Server) や Amazon Redshift 等へのコネクターが公式で用意されている
- サードパーティ製のコネクターも豊富に開発されており、企業への浸透度の高い Salesforce や Snowflake などにも接続可能
- 2022年10月に Google Cloud で有償 BI サービスとして提供されていた Looker[1] のブランド傘下に統合されることが発表。これに伴ってサービス名が Google Data Studio[2] → Looker Studio に変更。
- 松: Looker
- 竹: Looker Studio Pro(2022年12月時点では未提供)
- 梅: Looker Studio
イケてるところ
-
無償!!!
- 正直、どんなに悪い点があっても無償でこれだけの機能を備えているのはすごすぎ
- Google Workspace, Google Cloud との相性が抜群
- Google アカウントさえあれば、ダッシュボードの作成・閲覧がすぐに可能
- 閲覧・編集権限は Google アカウント単位でコントロール可能であり、権限管理が容易
- 豊富なサービスとの接続が可能
- BigQuery では、クエリ実行結果を Looker Studio 上でそのままグラフィカルに描画できる
うまく使えば業務自動化にも使えたり、
プレゼンツールにも使えます(愛がすごい)。
残念なところ
さて、今回のメインです。以下4つの観点ごとに、一般的なものから少しマニアックなものまで、残念なところを列挙していきます。
- ビジュアライゼーション
- 関数・データソースとの接続
- UI/UX
- その他機能面
1. ビジュアライゼーション
描画可能なグラフの種類が多くない
2022年12月現在、公式で用意[3]されているものはこれだけです。
また、グラフの追加頻度も少なく、 2021年8月にゲージグラフが追加されたのを最後に、以降1年以上グラフの追加はありません。
コミュニティ ビジュアリゼーション という、サードパーティのデベロッパーが開発したグラフを使える機能もありますが、その数自体も決して多くはないです。
さらにサードパーティ製ということもあり、だいぶ作りがお粗末なグラフも・・・
(個人的に、Funnel Chart が辛かったです。かなりデータを加工しないと、まともに描画ができませんでした)
コミュニティ ビジュアリゼーションの一例。キャプチャにはグラフ以外のフィルターコンポーネントも含まれている
配色を気にしないと、コントラストのどぎついグラフができあがる
以下は公式で用意されているテーマの一例です。
このうち、「デフォルト」テーマのカラーパレットをそのまま使った積み上げ棒グラフがこちら。なんとも統一感がないし、ビビッドで目にも悪いですね。
「デフォルト」テーマのグラフのスタイルで、配色を「ディメンションの値」にした ver.
以下のようにグラフのスタイル設定で単色のグラデーションにもできるのですが、これはこれで色が類似しすぎていて見づらいですよね。
「デフォルト」テーマのグラフのスタイルで、配色を「単一色」にした ver.
というわけで、見栄えのいいグラフにしようと思ったら、結局自分でカラーパレットをカスタマイズをする必要があります。
「デフォルト」テーマのカラーパレット
テーマの使いまわしがしづらい
上記で「結局自分でカラーパレットをカスタマイズをする必要があります」と書きましたが、残念ながらカスタマイズしたテーマをファイル形式でエクスポート/インポートはできません。
一応、レポート自体のテンプレート( = テーマに加え、データやグラフもそのまま含まれる)を作成することは可能なので、クリティカルな残念ポイントではないのですが、 PowerPoint のスライドテンプレートのような共有方法がとれない点は、個人的には少し扱いづらいです。
2. 関数・データソースとの接続
利用可能な関数が少ない
Looker Studio では、接続しているデータソースの各カラム(Looker Studio で言うところの「ディメンション」)に対して SQL ライクな関数[4]を用いて、新しいディメンションおよび指標を定義することが可能です。
ただし、あくまで SQL ライクであって、SQL と同じようには使えない関数も多々あります。メジャーどころでいうと以下は使えません。
- あいまい検索演算子の
LIKE
- まったく同じ動作をするものは用意されておらず、代わりに
CONTAINS_TEXT
,REGEXP_CONTAINS
などを使う形になります
- まったく同じ動作をするものは用意されておらず、代わりに
- WINDOW 関数
-
DATE("yyyy-mm-dd")
による STRING → DATE の型変換
累積計算が苦手
Looker Studio は累積計算を伴う指標の描画がかなり苦手です(一応、シンプルな累積和であれば、グラフ上で設定可能ではあります)。
たとえば、あるサービスの利用者のアンケート結果が以下のように取得できており、ここからサービスの NPS を可視化するユースケースを考えます。
まず、全期間・全ユーザー累積での NPS は
では、月ごとの NPS 推移となったらどうでしょうか?
回答としては、Looker Studio では、以下のように単月 NPS 推移は表現できるものの、累積 NPS の推移は表現できません。
Looker Studio で累積 NPS の推移を追えるようにするためにはいくつかの工夫が必要です。
- データソースのテーブルに各タイプ(批判者・中立者・推奨者)ごとの累積和をカラムとして追加する(SQLで
SUM(IF(スコア > 8, 1, 0) OVER(ORDER BY 回答日)
のように WINDOW 関数を使うイメージ) - 「累積 NPS 推移テーブル」を作成し、それを Looker Studio のデータソースに追加する
ただし、ここに 「コントロールを使って、集計対象の期間やユーザーを可変にしたい」 というニーズが加わった瞬間、いずれの方法も破綻します。
これは、いずれの方法も「保持しているすべてのデータを扱う」前提のテーブル設計になっているためです。
BigQuery で 1日分しかデータがない日付シャーディングテーブルをうまく描画できない
最初に申し上げておくと、BigQuery ユーザーの中でも、非常に限定的なケースです。
BigQuery ではテーブル名を table_name_yyyymmdd
のような形式にすることで、以下のような日付シャーディングテーブルを作成可能です。[6]
シャーディングテーブルで複数日付のテーブルが存在する場合には、 Looker Studio 側も特に問題はありません。
挙動としては、デフォルトでは最新日付のテーブルの情報が描画され、Looker Studio 側でフィルタやコントロール等で日付を指定すると、その日付分のテーブルの情報が描画されます。
しかし、1日分のテーブルしか存在しないときには、各カラムの名前や型はちゃんと取得できているものの、すべてのレコードが NULL のテーブルとして扱われてしまう模様です。
Looker Studio 側でグラフ表示するとこんな具合。
これは、フィルタやコントロール等でシャーディングテーブルの日付を指定しても変わりません。
ここで注意すべきが、テーブル名のサフィックスに yyyymmdd をつけると、その時点で自動的にシャーディングテーブルと判定されてしまう点です。
よって、本事象は BigQuery に習熟した人というより、シャーディングの存在を知らない人が「いつ作ったか分かりやすくしたろ」といったノリでサフィックスに日付を付与した(してしまった) 場合に発生することが想定されます。かくいう私もそうでした・・・
3. UI/UX
日本語入力時、Enterキーが変換確定ではなく「登録」の動作になってしまう
他のツールでもたまにある挙動ですが、 Looker Studio の場合は少なくとも以下のケースで発生します。
- レポート名入力時
- ディメンション・指標のリネーム時
計算式エディターの入力サジェストのポップアップが邪魔
たとえば、私がよく遭遇するものだと、 CASE 句の締めの END
入力時のポップアップが相当邪魔です。
"E" を入力した段階でこのポップアップが出てくるのですが、なんと "END" まで入力し終わってもポップアップは消えません。
それどころか、矢印キーでのエディタ内でのカーソルの上下操作を奪われます。
ポップアップを消す方法としては、マウスでカーソルを別の箇所に移動させることなのですが、再度 "END" の部分にカーソルが来てしまうと、再び同様の事象に陥ります。
(ちなみに、仕方なくEnterキーを押すと ENDS_WITH
に強制補完され、満足気にポップアップは消えます)
Bad UX!!!
チェックボックスのコントロールを使うと、リセットしない限りデータ全件選択ができない
Boolean のカラムで集計対象を制御しやすくするように、 Looker Studio にはチェックボックス型のコントロールが実装されています。
私は、この機能の使用は基本的に避けます(代わりに普通のプルダウンのコントロールを使っています)。
Looker Studio 上では、チェックボックスはデフォルトでは以下のような見た目になっております。
まだ何も絞り込みを行っていない状態です。
□ をクリックすると、値が true の行のみに絞り込まれます。
次にもう一度 □ をクリックすると、値が false の行のみに絞り込まれます。
もう一度 □ をクリックすると、値が true の行のみに絞り込まれます。
・・・どうすればもとの全件選択状態に戻れるの!?
回答としては、このチェックボックスをクリックしてしまったが最後、画面右上の「リセット」ボタンを押さないと全件選択状態には戻れないのです。うーん、 Bad UX!
4. その他機能面
同一レポート内での権限変更ができない
イケてるところ で「権限管理が容易」と書きましたが、ページ単位・グラフ単位で閲覧・編集権限を操作するような、リッチな権限管理はできません。
実際のユースケースとして、同一レポートで「このページは全社公開OKだが、このページはマネージャー以上にのみ公開としたい」といったことが弊社でもありました。
これを解決するためには、公開範囲ごとに別々のレポートを作るしかありません。
「それでよくね?」と言われればそれまでなのですが、同じ領域のデータなのに、レポートが複数にまたがっているのは Bad UX だと思います。
コントロールで行の絞り込みを行ってもグラフ表示が変更されないバグがある
再現性がなく原因も定かではないのですが、たまに遭遇します。
画面のリロード(スーパーリロード含む)をしても事象は変わらず。
私の場合、グラフを消して再作成することで十中八九解決してきました。
コントロールで特定の条件を選択すると「データポータルがデータセットに接続できません」のエラーが発生するバグがある
これも上記同様、再現性がなく原因も定かではない系のバグで、非常に稀ですが遭遇しました。
通常、コントロールで条件を選択して、該当するレコードがテーブルに存在しない場合、エラーではなく以下のような表示になるはずです。
しかし、なぜかコントロールでどの条件を選択しても「データポータルがデータセットに接続できません」のエラーが発生するのです。
解決策としては、以下の手順を踏むことで解決できたことがあります。
- エラーのトリガーになっていたカラムをデータソース側から削除
- Looker Studio でデータソースに再接続
- エラーのトリガーになっていたカラムを再度データソース側に追加
- Looker Studio でデータソースに再接続
おわりに
今回は Looker Studio の残念な点をいくつかご紹介しました。
とはいえ、私自身、他の BI ツールに習熟しているわけではないので、「そんなのどの BI ツールでも無理なんだが」というものもあるのかもしれません。
今後は他 BI ツールにも触れたうえで、比較しながら Looker Studio のイケてるところ/残念なところを認識していければと思います。
Looker Studio の今後の発展に乞うご期待!
p.s. もし「できないって書いてるそれ、こうすれば実現できるよ」というものがありましたら、コメントでご指導いただけますと幸いです。
-
Google は2020年に Looker 社を買収している。 https://cloud.google.com/blog/ja/products/gcp/google-completes-looker-acquisition ↩︎
-
ややこしいですが、日本におけるサービス名の表記は「データポータル」でした。一説によると、「データスタジオ」の商標がすでに他社によって確保されていたとか(真偽不明)。 ↩︎
-
各グラフの詳細: https://support.google.com/looker-studio/topic/7059081?hl=ja&ref_topic=9207420 ↩︎
-
Looker Studio の関数リスト: https://support.google.com/looker-studio/table/6379764?hl=ja ↩︎
-
そもそも BigQuery の公式ドキュメントにも記載があるとおり、シャーディング自体が推奨されている使われ方ではありません。 ↩︎
Discussion