Amazon Redshift接続のMetabaseでダッシュボード作成

Amazon Redshift接続のMetabaseでグラフ

OSSのBIツールMetabaseを試したいと思います。

Metabase とは

Metabaseは、OSSのBIツールで簡単にデータの可視化ができます。

主な特徴は以下になります。

  • インストールが簡単
    • OpenJDKかOracleJDKのバージョン7以上のインストールとMetabaseのjarファイル配置のみ
  • WebベースUI
  • ダッシュボードが作成可能
  • 認証
    • GoogleアカウントのサインインかLDAP認証の選択も可能
  • アプリにMetabaseのチャートとダッシュボードの組込みが可能
  • グラフはSQLを書いても書かなくても作成可能
  • グラフは以下の種類が作成可能
    • Number
    • Progress bar
    • Table
    • Line chart
    • Bar chart
    • Row chart
    • Area chart
    • Scatterplot or bubble chart
    • Pie/donut chart
    • Funnel
    • Map
  • 対応データベース
    • MySQL
    • Postgres
    • Mongo
    • SQL Server
    • AWS Redshift
    • Google BigQuery
    • Druid
    • H2
    • SQLite
    • Oracle
    • Crate
    • Google Analytics
    • Vertica

詳細は以下をご覧頂ければと思います。
https://www.metabase.com/docs/latest/

前提動作環境

本記事での動作環境は下記になります。

  • Metabase v0.29.3
  • Windows Server 2012 R2   ※事前にインストールしておきます。
  • jdk-8u172-windows-x64.exe ※事前にインストールしておきます。
  • Amazon Redshift ※事前に作成しておきます。
    • データは、ブログサイト「https://tech-lab.sios.jp/」のアクセスログを使用

Metabase のインストール

Metabaseのダウンロードサイトから、「metabase.jar」をダウンロードします。適宜フォルダーに配置します。

コマンドプロンプトで配置フォルダに移動し、「java -jar metabase.jar」 を実行すれば起動します。
ブラウザでhttps://localhost:3000/にアクセスし、Web UIを表示できることを確認します。

Metabase の設定

[Let’s get started.]をクリックします。
input

adminアカウントを設定します。適宜入力し、[Next]をクリックします。
input

DBの接続情報を設定します。一番上にあるプルダウンは「Amazon Redshift」をクリックします。[Host]はRedshiftのエンドポイントを入力、それ以外も適宜入力し、[Next]をクリックします。
input

Usage data preferences はそのまま[Next]をクリックします。
input

セットアップが完了します。[Take me to Metabase]をクリックします。
input

ホームページが表示されます。
input

ダッシュボードの作成

まず、グラフを作成します。
画面上部の[New Question]をクリックすると開く以下の画面から、今回はSQLを書いてグラフ作成したいと思いますので、[Native query]をクリックします。
input

以下のように、[DATABASE]プルダウンから使用するDB名のクリックと[EDITOR]にSQLを入力して、[GetAnswer]をクリックします。
input

以下のような画面になったら、[VISUALIZATION]プルダウンから適宜グラフの種類をクリックします。ここでは、「Table」を選択します。右脇にある歯車アイコンで選択したグラフの設定のカスタマイズができます。
input

作成したグラフを保存します。画面右上にある[SAVE]をクリックして、開いた以下のダイアログで適宜入力し、[Save]をクリックします。
input

作成したグラフをダッシュボードに追加するか確認されるので、[Yes please!]をクリックして、ダッシュボードに追加することにします。
input

追加するダッシュボードについて、既存のものから選択するか、新規作成するかを確認されます。今回は新規作成のダッシュボードとするので、[+ Add to new dashboard]をクリックします。
input

開いた以下のダイアログで適宜入力し、[Create]をクリックします。
input

新規作成したダッシュボードに、「Question」がテーブルの見た目をしたカードのかたちで追加配置されます。
input

ダッシュボードのグリッドに合わせて、配置されたカードの右下をつまんで、以下のように広げることができます。
input

この状態のダッシュボードを保存します。画面右上にある[Save]をクリックすると、以下のように、ダッシュボードの編集画面から表示画面になります。
input

まとめ

このように簡単にダッシュボード作成ができます。ただ、パーミションについては、Tableau Serverなどの商用製品のように、作成したダッシュボード・Question単位などといったオブジェクト単位にパーミション設定ができるわけではないようなので、導入する際には、ユーザー要望に沿えるかどうか検証が必要です。

斎藤@SSTD

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です