fbpx

MongoDBのBIツール、MongoDB Chartsでグラフを作る #MongoDB #MongoDBCharts #BItool

この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。

MongoDB Chartsについて

MongoDB ChartsはMongoDBデータの視覚的表現を作成するためのツールです。
データの視覚化は、データの相関関係やデータセット内のパターンや傾向を把握するのに役立ちます。
作成したグラフや図は、チーム内で共有することができ素早く簡単に情報の伝達を行うことが可能です。

MongoDB Chartsの特徴

MongoDB Chartsには以下のような特徴があります。

集約機能

MonogoDB Chartsは様々な集約機能を提供します。
収集したデータに対して、平均や標準偏差を計算することでさらにデータを深く理解することができます。

MongoDB Atlasとのシームレスな統合

MongoDB Atlasに格納されているデータを、シームレスに利用することが可能です。
MongoDB Atlasをご利用中の場合、MongoDB Chartsを利用する際に新しくデータベースを用意する必要はありません。

ドキュメントデータの処理

MongoDBに格納されているドキュメント形式のデータをそのまま処理できます。
配列やネスト構造を持つことができるドキュメント形式を使用するため、アプリケーションに柔軟性を持たせることが可能です。

グラフを作ってみる

MongoDB Chartsでグラフを作成する手順です。

前提条件

MongoDB Atlasのアカウントを開設済みあること
Atlas Clusterを作成済みであること

MongoDB Atlasのはじめ方はこちらの記事をご覧ください。

Atlas Clusterにサンプルデータをロードする

グラフを作成するためのサンプルデータを用意します。

左のツリーから[Database]を選択し、Database Deployments画面を表示します。
使用するClusterの[…]を押下し、[Load Sample Dataset]を選択します。

[Load Sample Dataset]ボタンを押下することでサンプルデータをロードできます。

データソースを選択する

[Charts]タブを選択します。

初回は概要説明とチュートリアルが表示されます。[Start]を押下して次へ。

先程用意したサンプルデータを使用する為、Connect Your Data側の[Select]を選択します。

データソースを選択します。
サンプルデータをロードしたClusterを選択し、[Next]を押下します。

使用するコレクションを選択します。
[sample_restaurants]データベースにチェックを入れ、データベースに含まれる2つのコレクションを対象とします。

チュートリアルがいくつか表示されます。

グラフを作成する

メインで使用することになるDashboards画面に移動します。
左のツリーから[Dashboards]を選択します。
その後、デフォルトで作成されているDashboardを選択します。

グラフを作成する為、[Add Chart]ボタンを押下します。

グラフ作成画面に移動します。
いくつかチュートリアルが表示されます。

左上のData Sourceで[sample_restaurants.restaurants]コレクションを選択します。
このコレクションに格納されているデータは、レストランの名前や住所、レストランのスコア等が含まれています。

ドキュメントのサンプル

{
  "_id":{"$oid":"5eb3d668b31de5d588f4292a"},
  "address":{
    "building":"2780",
    "coord":[{"$numberDouble":"-73.98241999999999"},{"$numberDouble":"40.579505"}],
    "street":"Stillwell Avenue",
    "zipcode":"11224"
  },
  "borough":"Brooklyn",
  "cuisine":"American",
  "grades":[
    {"date":{"$date":{"$numberLong":"1402358400000"}},"grade":"A","score":{"$numberInt":"5"}},
    {"date":{"$date":{"$numberLong":"1370390400000"}},"grade":"A","score":{"$numberInt":"7"}},
    {"date":{"$date":{"$numberLong":"1334275200000"}},"grade":"A","score":{"$numberInt":"12"}},
    {"date":{"$date":{"$numberLong":"1318377600000"}},"grade":"A","score":{"$numberInt":"12"}}
  ],
  "name":"Riviera Caterer",
  "restaurant_id":"40356018"
}

今回はレストランのスコアの平均値がどのように推移しているかを表すグラフを作成します。

Chart Typeで[Line]を選択します。

左のFieldsから省略されている[grades]を展開します。

展開されて出てきたThu, 27 Jun 2024 11:01:00 +0000フィールドを[X Axis]の青く囲まれている部分にドラッグ&ドロップして入力します。

dateフィールドをどのように処理するか選択します。
[CHOOSE METHOD]を押下します。

date内の日付データを利用する為、[Unwind array]を選択します。

次に[score]フィールドを[Y Axis]下の緑色で囲まれた部分にドラッグ&ドロップして入力します。
同様に[CHOOSE METHOD]から

[Unwind array]を選択します。

この時点で右側にグラフが作成されます。
X軸は日付(月単位)、Y軸はscoreの合計値(sum)です。

今回はスコアの平均値をグラフにする為、データの計算方法を変更します。
scoreの[AGGREGATE]から[mean]を選択します。

右側のグラフが合計値(sum)から平均値(mean)に変更されました。

データソースとして選択したコレクションには、複数のレストランの情報が含まれています。
その為、現在は複数レストランのスコアの平均がグラフに表示されています。

ある特定のレストランのスコアの平均を確認するには、フィルター機能を利用します。
[Filter]を選択し、左側のFieldsから[name]フィールドを青く囲まれた部分にドラッグ&ドロップして入力します。

[Deselect All]のチェックを外します。

その後、[Kfc]のチェックを入れます。
これでレストラン「Kfc」のスコアのみをグラフに表示することができました。

作成したグラフを保存します。
グラフに名前をつけてから、右上の[Save and close]を押下します。

チュートリアルが表示されます。

ダッシュボードに作成したグラフが追加されました。
この画面からグラフの更新や編集を行うことができます。

以上でグラフの作成は完了です。

おわりに

MongoDB Chartsは一般的なBIツールと同じような操作感で視覚的表現を作成することができます。
MongoDB Atlasをご利用中であれば、システムの構築やデータベースへの接続設定無しでMongoDB Chartsをご利用頂けます。
他にもダッシュボードの共有や、作成したグラフのWeb埋め込み等の機能がございます。
詳細はこちらまでお問い合わせください。

新規CTA