目次
こんにちは!Leonです。
今回は前から気になっていたMetabaseを軽く触ってみたのでそちらについて書いてみます!
Metabaseって?
OSSのBIツールです。よく聞くRedashとかKibanaと同じです。
OSSなので無料で扱えてjavaのアプリでjarファイルを実行するだけで環境が簡単に作れちゃいます。
Google認証が使えたりSlack連携ができちゃったりと結構便利で無料でそんなことやっちゃっていいのかと思います。
調べると他のOSSのBIと比べて後発的なソフトになっている分デザインとかイケてるらしく、
BIを触ってきたものとしては触れておかねばということで社内サーバーに構築してみました。
軽く触ってみた感じはコードを書かずにクリックのみでグラフが作れたり、SQLでデータを加工できたりするので無料BIとしてはとても便利だなという印象です。
Metabase環境を作る
環境構築は至って簡単です。
構築方法は2つあり、上記でも記載したjarファイルをコマンドプロンプトでjava -jar metabase.jar
で実行するか、
Dockerイメージがあるのでdocker run -d -p 3000:3000 --name metabase metabase/metabase
で取得して起動できます。
https://www.metabase.com/start/oss/
もしローカルで触りたいって場合は上記試してみてください!
起動できたらブラウザでhttp://localhost:3000を開くとユーザー登録画面になるので
ユーザー登録して最初のダッシュボードがこんな感じです
確かにUIとかは良さげな雰囲気です。。。
日本語化はされていますが触ってみた感じは機械翻訳感があるので違和感が少しあるかもしれませんがそこはご愛嬌ということで。。。
サンプルデータがあるのでお試しでも触れます。
ファイルとかを読み込むことはできないのでお持ちのDB等に接続して自分のデータで確認してみてください。
リストにある接続はこちらになります。
データを触る3つのモード
右上のをクリックすると以下のページに行きます。
何やら質問がどうのこうの書いてますがMetabaseではグラフを作っていくことをQuestionと読んでいてそれで質問となっているようです。
それぞれを説明すると
[簡単な質問]:単純にテーブルを選択してデータを確認したりグラフを作成することができるモード。
[カスタム質問]:テーブルの結合やカスタム列(Tableauでいう計算フィールド的な)など簡単な質問よりより細かくデータを触れるモードです。
[ネイティブクエリ]:SQLを記述してクエリで帰ってきた結果を可視化できるモードです。SQLで複雑にクエリを書いてデータを出したい方はこちらがおすすめ。結果がすぐビジュアライズできるがいいですね。また変数とかも使えるので汎用性が高そうです。
グラフを作ろう
まずは簡単な質問を触ってみましょう。
データはサンプルデータのOrdersテーブルを選びます。
これでデータの中身を見ることができます。
試しに3つ以上買った注文の売上推移のグラフを作ってみます。
まず3つ以上買ったということなのでフィルターを設定するためをクリックします。
OrdersのQuantityを選択し条件は[以上]で3を選択し[フィルターを追加する]をクリックします。
フィルターマークが表示され[Quantity以上3]と表示されました。
これでフィルターはOKです。
次に売上集計の設定します。をクリックしましょう。
まずは[集約方法]を設定します。
メトリクスを追加で[...の合計]を選択し項目は[Total]を選択します。
これで売上の合計が表示されます。
これだけだと集計軸がないただの結果になるので集約キーを設定します。
Orderの[Created At]を選択し完了を押します。
そうすると自動で折れ線グラフが表示されました!
確かにデザインいいですね…!そして結構簡単につくれました!
グラフ設定はどうなの?
細かい設定はでできます。
設定画面はこちらです。
めちゃくちゃ細かく設定できるわけではないですが基本的な部分は押さえてる感じですね。
傾向線もボタン1つでできますし目標ラインの設定も簡単です。
折れ線以外のグラフは?
別のグラフで可視化する場合はをクリックします。
マップとかも対応してますし基本的なグラフはあるのでこちらも普通の使い方では困らなそうです。
棒グラフもいい感じ~!
データダウンロードもできます
右下のを押すとダウンロードができます。
csvやExcelはもちろん、jsonでも保存できちゃいます。
ダッシュボードを作る
グラフを保存してダッシュボードを作ってみましょう!保存をクリックして質問を保存します。
ダッシュボードに追加するか聞かれるのでここはお願いしちゃいましょう!
新しいダッシュボードを作成します!
ダッシュボードの編集画面に遷移しました。ブロック式でサイズを編集できます。
をクリックするとテキストを記載できます。
マークダウンでテキストを書けるようです。
をクリックするとフィルターを配置できます。カテゴリーを配置してみます。
フィルタをかけるカラムでProductのCategoryを選択し完了を押します。
ちなみにリンクフィルタはフィルタを連動させてリストを制限できるみたいです。
Qlikのリストボックスみたいですね。
これでダッシュボードを保存するとこんな感じになりました。
カテゴリーをクリックすると項目が表示されました。
フィルタを追加すると絞り込まれたようですね。
これでダッシュボード操作もある程度できました!
カスタム質問を触ってみる
最後にテーブルを結合させたりできるカスタム質問を触ってみましょう。
まず開始するデータで[Orders]を選択します。
テーブルを結合するにはをクリックします。Productsテーブルを結合しましょう。
キーについてはwhereの部分で設定できます。
個人的に良いなと思ったのが右側にあるをクリックするとデータをプレビューできることです。
作業過程でデータを確認できるのはいいですね!
またをクリックするとカラムを除外できます。
カスタム列はをクリックすると設定できます。
カテゴリと製品名を結合させたカラムを作ってみましょう。
補完機能があり入力しやすいです。
結合したカラムができました!
要約については前に設定したようにTotalの合計とCreatedAtの月を設定しをクリックします。
そうすると簡単な質問で触ったことのある表示になりました!
ここからの設定は前と同じですね!
前のデータ設定に戻るにはをクリックすると戻れます!
終わりに
一通りグラフ作成をやってみましたがいかがでしょうか?
個人的にはOSSのBIって使いづらそうだなと思っていましたが
UIでもSQLでもデータを加工してビジュアライゼーションを作成でき、意外と使いやすい感じでビックリしました。
何か課題がありデータを分析したり状況を把握したいけどコストが無くて困っている方はスタートとしてはオススメできるのではないのでしょうか?
気になった方はぜひお試しを~!