こんにちは、らくからちゃです。
わたしのチーム(約5人)にて、タスク&作業実績管理にRedmineを導入して楽しく遊んでお仕事していたところ、先輩に目をつけられ部内全体(約30人)に展開するタスクを仰せつかりました。
利用者が増えてくると、斬新な使い方をしてくる人が出てきたり、あれこれ面白いご意見を頂くこと増えます。そうしたユーザーへの対応に加え、プロジェクトの成功には「なぜコレが必要なのか?」をきちんと伝え、利用者のモチベーションを維持することと「コレは投資価値が高い」と管理職へアピールすることが重要です。
皆さんブーブー言いながらも作業実績を登録してくれていますので、管理者がその結果をリアルタイムに把握出来る良いツールは無いかな?と思ってアレコレ試してみたところ、なかなか良いものを発見しましたので共有します。こちらです。
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"をクリックしましょう。
わくわく。
管理者用のユーザー名だのなんだのが聞かれますので、適当に登録。
MySQLやPootgleSQL、SQL Serverといった企業でもよく利用されるデータベースにも接続できます。Oracleはどないやねん、ってとこに関しては、ちゃんとJDBCを入れたらいける・・・のかな?(→Databases)
MySQLで例に取ると、データベースが外部から接続可能な状態にあれば、各種接続情報を指定すれば繋がります。が、今回はサンプルデータだけ利用するので、"I'll add my data later"を選んどきましょう。
最後に、バグ発生時のデータを送信するかだけ選んでおしまい。
ね、簡単でしょ?
データをぐりぐりいじってみよう!
セットアップが完了すると、こんな感じに表示されます。
どうやらこのテストデータには
- People table ・・・顧客情報
- Orders table ・・・注文情報
- Products table ・・・製品情報
- Reviews table ・・・ レビュー情報
があるみたいですねー。早速、一番下の「Sample Dataset」から生データを覗いてみましょう。
まずはOrdersあたりが分かりやすいかな?クリックすると、こんな感じに格納されているデータを確認できます。
タイトルをクリックすれば、並び替えるくらいは当然できます。ただ、ダラダラ一覧を表示されても、何もできませんよね。というわけで、
- 集計項目(製品、地域など)を group byに
- 集計方法(平均、合計、最大値など) view に
- 集計情報(数量、金額など)を 集計方法指定時に
指定すれば、その単位での集計結果が表示されます。例えば製品コードごとの売上金額の情報だって一発ポン!
うーん・・・でも製品コード単位の売上額を言われてもイマイチぴんと来ないですよね。というわけで、製品名で集計するようにしちゃいましょう!
どういう風にリレーション貼っているのかよくわかりませんが、Product table表上のTitle単位で集計しました。ずいぶん分かりやすくなりました。でもまだ、数字が沢山でぴんとこない!!というわけで、今度はグラフ表示にしてみましょう!!
表示形式をTableからBarに変えれば、棒グラフで表示できます。対象にカーソルを合わせれば、名称と内訳が出るところがクールですね。その他にも
- 折れ線グラフ
- 横棒グラフ
- 面グラフ
- 円グラフ
- 散布図
- 地図上での表示
などなどにも対応しています。積上棒グラフや二重円グラフが無かったり、もうちょい頑張って!と思うところもありますが、まあまあ基礎的な範囲は抑えてるんじゃないでしょうか。
あと、今日だけの売上が知りたいんじゃ!!って場合は、絞り込み条件を指定すれば、これも一発ポンです。
ちょーイケてんなあと思うのが、日付は絶対値の指定だけじゃなくて、「今日」「今月」「先週」といった相対指定も可能です。楽ちんだね!更に、このグラフ上のデータの内訳を見たいときだってあるじゃないですか。
そういうときは対象のデータを選択してView these Ordersをクリックすれば・・・
当然のごとく、元のデータまでドリルダウンが出来ます。
あとデータの抽出する際に、ガリガリSQL文を書くことも出来ます。これもまた当然のごとく入力補完もしてくれます。
作成したグラフを並べてダッシュボードを作るのもお茶の子さいさいです。
データが見えると士気があがるよ
同様のツールには
- Superset
- Re:dash
もあります。機能面ではこれらのほうが豊富な部分もあるのですが、なにせ利用できる状態まで持っていくのがひと手間でして、Metabaseはとにかく立ち上げが簡単なのが助かりますね。
弊社の場合、Redmineの日別の作業時間等を扱いやすいように集計したビューを切って、
- 案件別当月作業時間(円グラフ)
- 担当別当月作業時間(棒グラフ)
- チケット別作業時間(一覧表)
- 作業日別作業時間(折れ線グラフ)
なんかを作って、ばーんと部内30名の作業結果をリアルタイムに見れるようにしてみました。
導入して色んな人の反応を見ていると、やっぱり登録されたデータから簡単に分析できれば効果を気軽に体感することが出来るるようになれば「あ、こういう風に使えるんだ」というのがわかり、真面目にやってくれるようになります。特に管理職のひとは、色々と夢が膨らむようで(良くも悪くも)ちょっかいを出すようになってくれます(笑)。
データを集め、それを分かりやすくすることはゴールではなく中間点でしかありません。なおのこと、より多くの人がデータの収集の仕方に関心を持ってもらい「ちゃんと登録せにゃなー」と思ってもらうためには、きちんと見える化していくことが大事じゃあないのでしょうか。
ではでは、今日はこのへんで。