Google BigQuery

オープンソースBI「Metabase」の使い勝手が丁度良かった

こんにちは、エクスチュアの權泳東(コン・ヨンドン)です。

ほんの出来心で「オープンソースBIってどんなものがあるのか?」と物色してたところ、評判が良い「Metabase」を知ったので試して見ました。

私は主にGoogle BigQueryを使ってますが、MetabaseはBigQueryも簡単に接続できます。

Metabaseを試す

そして何よりもAGPLライセンスで無償利用可能なオープンソースBIというのが素晴らしい。
使い始めて30分で「めっちゃ簡単で使いやすい!俺はこれでいいや!」という結論が出ました。※私の主観です。

さて、そんなMetabaseの何が良かったのかを含めて導入セットアップから操作まで簡単に紹介します。

 

ダウンロード

下記のページから「Dockerイメージ」や「JARファイル形式(Java Archive)」でダウンロード出来ます。

https://www.metabase.com/start/

で、Ubuntuでサクっと試したかったのでJARにしました。
※なお、JARファイルを動作させるためにはJDK8をインストールしておく必要があります。

参考: Ubuntu: OpenJSK 8 をインストール – 二代目俺のメモ

 

起動

metabase.jarをダウンロード後、下記のコマンドで起動します。

$ java -jar metabase.jar

起動後、tcp:3000番ポートにアクセスします。
ローカルホストで試してる場合は http://localhost:3000/ で開きます。

 

いざアクセス

ブラウザでMetabaseが稼働するホストの3000番ポートにアクセスするとセットアップが始まります。

セットアップ開始

まずは管理者アカウントを作成します。

管理者アカウントの作成

その後データベースの選択に進むので、BigQueryを選択しました。
プロジェクトとデータセットを選択したのち、ClientID/Secretを入力し、最後にAuthCodeを入力します。
それぞれ注意書きのリンク先で作成・取得出来るので手順どおりに進みます。

BigQueryと接続

 

SQLでデータを抽出

さて、セットアップが終わったらログインしてトップ画面に進みます。

ログイン直後の画面

ここからはBigQueryに対してSQLでデータを抽出して行きます。
※データをブラウズしてカラムをマウスで選択していく方法もあります。

画面右上の「Write SQL」ボタンをクリックして、SQLエディタ画面を開きます。

Write SQL

SQLエディタに直接SQLを書きこみます。
使い慣れた他のエディタで作成したSQLをコピペするのもいいでしょう。

試しに下記のようなクエリを作成して、BigQueryにストアされたAdobeAnalyticsのデータから「日別ページビュー数」を抽出してみました。

クエリを作成

上記クエリの中で {{date_start}}{{date_end}} という二重の大括弧に囲まれたものは「変数」です。

クエリ本文内に変数が出現すると、エディタの右には自動的に変数設定メニューが現れます。

変数設定メニュー

ここではクエリの抽出期間を日付形式でUIから指定出来るように、BETWEEN句で指定する開始日と終了日を変数で指定出来るようにした訳です。

そしてクエリを実行します。
ショートカットキーは [Ctrl+Enter] です。

するとBigQueryから結果が帰ってきます。

 

結果データをビジュアライズ

結果データの下に「Visualize」ボタンがあるので、これをクリックします。

BigQueryの結果をビジュアライズ

グラフ選択メニューが出てくるので、適切なビジュアルを選びます。
今回は日別ページビュー数なので棒グラフを選びました。

棒グラフを選択

すると先ほどの結果データが棒グラフに変わります。
これはお手軽です。

DisplayオプションやAxesオプションで見た目をカスタマイズします。
カスタマイズ言うほど選択肢がないのも分かりやすくて丁度良いw

色やラベルを変更

設定を変えたら右上の「Save」を押してグラフを保存します。

グラフを保存

保存する際に、このグラフを含むレポートの名前を決めます。
そして「ダッシュボードに保存するか?」と聞かれるので、「Yes」を選択します。
まだダッシュボードが存在してない場合は新たに作成されます。

そしてグラフをどこに配置するか決めて、これまた右上の「Save」でダッシュボードに保存されます。

グラフをダッシュボードに追加

とても簡単です!

とにかくSQLを書く→ビジュアライズする、の繰り返しでダッシュボードをどんどん作って行く事が出来ます。
「変数」機能を使ってフィルタリングや絞り込みに使いたいカラムを指定する方法だけ覚えれば条件指定も出来るので、覚える事が少なくて使いやすい。

簡単にダッシュボードを構築可能

 

ダッシュボード全体のフィルタを追加

ダッシュボードに並べたグラフの日付を一括で変更するためのフィルタを追加します。
なお、すべてのグラフ作成時に使ったSQLに {{date_start}} と {{date_end}} の変数を埋め込んでおきます。

画面右上の「Add a filter」ボタンを押して、日付フィルタを追加します。

フィルターを追加

フィルタタイプを「Sigle Date」タイプにして、「Date Start」フィルタを追加します。
ここで、各グラフの {{date_start}}変数とダッシュボードのフィルタを関連付けて行きます。

[Date Start]フィルタを各グラフと関連付け

同じ要領で「Date End」のフィルタも追加します。

保存すると、ダッシュボードの日付期間をカレンダーから変更出来るようになりました。

集計期間を変更できる

とっても簡単なお手軽ダッシュボードの出来上がりです。

 

番外編: SSLでアクセスしたい

ローカルで使う分には気になりませんが、GCP(GCE)のVM上で動かしてるので、以下のとおりSSLでMetabaseにアクセス出来るようにしました。

  • VMのIPアドレスを固定
  • DNSにAレコードを追加
  • nginxでリバースプロキシを作成
  • LetsEncryptでSSL証明書を取得

これで、IPアドレスではなくSSLでMetabaseが稼働するホストに接続出来るようになります。

Metabase構成図

 

TL;DR

Metabaseはとても簡単で使いやすいオープンソースBIです。
無料で使えるのでぜひお試ししてみましょう!

 
弊社では各種マーテックツールの導入支援とデータ分析基盤構築支援を主に行っております。
お問い合わせはこちらからどうぞ

 

ピックアップ記事

  1. 最速で理解したい人のためのIT用語集

関連記事

  1. Adobe Analytics

    AdobeAnalytics: s.Util.getQueryParam で複数パラメータ同時取得

    こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。…

  2. Analytics Hub

    BigQueryでもデータクリーンルームの検証

    こんちには、喜田です。エクスチュアでは顧客のSnowflak…

  3. Google BigQuery

    BigQuery BI Engine解説

    こんにちは、エクスチュア渡部です。2019/4/9-4/11に行わ…

  4. Google BigQuery

    GCPのBQMLを使ってKaggleコンペに挑んでみた(その1)

    こんにちは。エクスチュアでインターンをさせて頂いている中野智基です。…

  5. KARTE

    CXツール「KARTE」ってどんなツール?主な機能や魅力をざっくり紹介!

    こんにちは!エクスチュアインターン生の上園…

  6. Web解析

    コラム:Web解析から顧客体験分析(CXA)に

    こんにちは。CEOの原田です。今日は少し普段と経路の違う話を書いて…

最近の記事

  1. 回帰分析はかく語りき Part3 ロジスティック回帰
  2. GCSへのSnowflake Open Catalogによる…
  3. VPC Service Controlsで「NO_MATCH…
  4. モダンデータスタックなワークフローオーケストレーションツール…
  5. Streamlit in Snowflakeによるダッシュボ…
  1. Adobe Analytics

    Adobe Analytics: BigQuery+Lookerでアトリビューシ…
  2. IT用語集

    AWS(Amazon Web Service)って何?
  3. Adobe Analytics

    Adobe Analytics-分析ワークスペースの使い方
  4. Adobe Analytics

    Adobe Analytics:Report Builderの小技:リクエストの…
  5. Tableau

    【図解】Tableau Desktop 2020.3で「計算式」「予測機能」など…
PAGE TOP