ゆとりずむ

東京で働く意識低い系ITコンサル(見習)。金融、時事、節約、会計等々のネタを呟きます。

無料WebベースBI 『Metabase』が滅茶苦茶使いやすくて感動した件

こんにちは、らくからちゃです。

わたしのチーム(約5人)にて、タスク&作業実績管理にRedmineを導入して楽しく遊んでお仕事していたところ、先輩に目をつけられ部内全体(約30人)に展開するタスクを仰せつかりました。

利用者が増えてくると、斬新な使い方をしてくる人が出てきたり、あれこれ面白いご意見を頂くこと増えます。そうしたユーザーへの対応に加え、プロジェクトの成功には「なぜコレが必要なのか?」をきちんと伝え、利用者のモチベーションを維持することと「コレは投資価値が高い」と管理職へアピールすることが重要です。

皆さんブーブー言いながらも作業実績を登録してくれていますので、管理者がその結果をリアルタイムに把握出来る良いツールは無いかな?と思ってアレコレ試してみたところ、なかなか良いものを発見しましたので共有します。こちらです。

www.metabase.com

Metabaseは何が出来るのか

そもそもコレは何が出来るシステムなのかというと「エクセルでピポッドテーブルを使ったりグラフを作るくらいの感覚で、データベースから値を引っこ抜いて分析する作業が、全部ウェブ上でサクッと簡単に出来るツール」って感じでしょうか。

カテゴリ的には、

  • BI(ビジネスインテリジェンス)
  • データ可視化ツール

になるのかな?BIとしてはちょっと機能不足かもしれませんけど、何より

  • JavaなのでOSを選ばない
  • OSSなのでライセンス購入とかユーザ登録とか全く不要
  • 変なライブラリとか入れなくても使える

つまり

秒速で使えるようになる!!

んです。(ここすごく重要)具体的に何が出来るのかサンプルデータをいじくり回しながら確認しましょう。

インストール手順

まず「秒速で使えるようになる!!」に嘘偽りがないことを確認するために、インストール手順を追ってみましょう。必要なファイルは下記からダウンロードできます。

職場に一台は転がってるボロいPCで結構です。DockerとかHerokuとか、そんな高尚なものは入っていなくともJava 6以上が入っていればOKです。jarファイルをダウンロードし、ターミナルからダウンロード先にカレントディレクトリを移動して

java -jar metabase.jar

と叩けば万事OKです。

そのまま http://localhost:3000 へアクセスすれば、もうWelcome画面が表示されます。社内にサーバー機が建てられれば、そのIPなりマシン名なりでもアクセスできます。(弊社ではポンコツWindowsPCで元気に動いてます)さあ"Let's get started"をクリックしましょう。

わくわく。

f:id:lacucaracha:20180913225205p:plain

管理者用のユーザー名だのなんだのが聞かれますので、適当に登録。

f:id:lacucaracha:20180913225256p:plain

MySQLやPootgleSQL、SQL Serverといった企業でもよく利用されるデータベースにも接続できます。Oracleはどないやねん、ってとこに関しては、ちゃんとJDBCを入れたらいける・・・のかな?(→Databases

f:id:lacucaracha:20180913225410p:plain

MySQLで例に取ると、データベースが外部から接続可能な状態にあれば、各種接続情報を指定すれば繋がります。が、今回はサンプルデータだけ利用するので、"I'll add my data later"を選んどきましょう。

f:id:lacucaracha:20180913225506p:plain

最後に、バグ発生時のデータを送信するかだけ選んでおしまい。

f:id:lacucaracha:20180913225622p:plain

ね、簡単でしょ?

データをぐりぐりいじってみよう!

セットアップが完了すると、こんな感じに表示されます。

f:id:lacucaracha:20180913234310p:plain

どうやらこのテストデータには

  • People table ・・・顧客情報
  • Orders table ・・・注文情報
  • Products table ・・・製品情報
  • Reviews table ・・・ レビュー情報

があるみたいですねー。早速、一番下の「Sample Dataset」から生データを覗いてみましょう。

f:id:lacucaracha:20180913234354p:plain

まずはOrdersあたりが分かりやすいかな?クリックすると、こんな感じに格納されているデータを確認できます。

f:id:lacucaracha:20180913234439p:plain

タイトルをクリックすれば、並び替えるくらいは当然できます。ただ、ダラダラ一覧を表示されても、何もできませんよね。というわけで、

  • 集計項目(製品、地域など)を group byに
  • 集計方法(平均、合計、最大値など) view に
  • 集計情報(数量、金額など)を 集計方法指定時に

指定すれば、その単位での集計結果が表示されます。例えば製品コードごとの売上金額の情報だって一発ポン!

f:id:lacucaracha:20180913234639p:plain

うーん・・・でも製品コード単位の売上額を言われてもイマイチぴんと来ないですよね。というわけで、製品名で集計するようにしちゃいましょう!

f:id:lacucaracha:20180913235508p:plain

どういう風にリレーション貼っているのかよくわかりませんが、Product table表上のTitle単位で集計しました。ずいぶん分かりやすくなりました。でもまだ、数字が沢山でぴんとこない!!というわけで、今度はグラフ表示にしてみましょう!!

f:id:lacucaracha:20180914000046p:plain

表示形式をTableからBarに変えれば、棒グラフで表示できます。対象にカーソルを合わせれば、名称と内訳が出るところがクールですね。その他にも

  • 折れ線グラフ
  • 横棒グラフ
  • 面グラフ
  • 円グラフ
  • 散布図
  • 地図上での表示

などなどにも対応しています。積上棒グラフや二重円グラフが無かったり、もうちょい頑張って!と思うところもありますが、まあまあ基礎的な範囲は抑えてるんじゃないでしょうか。

あと、今日だけの売上が知りたいんじゃ!!って場合は、絞り込み条件を指定すれば、これも一発ポンです。

f:id:lacucaracha:20180914000737p:plain

ちょーイケてんなあと思うのが、日付は絶対値の指定だけじゃなくて、「今日」「今月」「先週」といった相対指定も可能です。楽ちんだね!更に、このグラフ上のデータの内訳を見たいときだってあるじゃないですか。

f:id:lacucaracha:20180914001045p:plain

そういうときは対象のデータを選択してView these Ordersをクリックすれば・・・

f:id:lacucaracha:20180914001143p:plain

当然のごとく、元のデータまでドリルダウンが出来ます。

あとデータの抽出する際に、ガリガリSQL文を書くことも出来ます。これもまた当然のごとく入力補完もしてくれます。

f:id:lacucaracha:20180914001518p:plain

作成したグラフを並べてダッシュボードを作るのもお茶の子さいさいです。

f:id:lacucaracha:20180914001951p:plain

データが見えると士気があがるよ

同様のツールには

  • Superset
  • Re:dash

もあります。機能面ではこれらのほうが豊富な部分もあるのですが、なにせ利用できる状態まで持っていくのがひと手間でして、Metabaseはとにかく立ち上げが簡単なのが助かりますね。

弊社の場合、Redmineの日別の作業時間等を扱いやすいように集計したビューを切って、

  • 案件別当月作業時間(円グラフ)
  • 担当別当月作業時間(棒グラフ)
  • チケット別作業時間(一覧表)
  • 作業日別作業時間(折れ線グラフ)

なんかを作って、ばーんと部内30名の作業結果をリアルタイムに見れるようにしてみました。

導入して色んな人の反応を見ていると、やっぱり登録されたデータから簡単に分析できれば効果を気軽に体感することが出来るるようになれば「あ、こういう風に使えるんだ」というのがわかり、真面目にやってくれるようになります。特に管理職のひとは、色々と夢が膨らむようで(良くも悪くも)ちょっかいを出すようになってくれます(笑)。

データを集め、それを分かりやすくすることはゴールではなく中間点でしかありません。なおのこと、より多くの人がデータの収集の仕方に関心を持ってもらい「ちゃんと登録せにゃなー」と思ってもらうためには、きちんと見える化していくことが大事じゃあないのでしょうか。

ではでは、今日はこのへんで。