fbpx

MongoDBとPower BIのデータ連携方法 # MongoDB # PowerBI

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

以前、MongoDBとTableauのデータ連携方法についてブログで触れさせていただきました。
今回はver.2ということで、MongoDBとMicrosoft社が提供するBIツールであるPower BIのデータ連携について扱います。

目次

  • Power BIとは
    • Power BIの構成要素
    • Power BIの構成要素
    • Power BI の一般的なワークフロー
    • Power BI Desktop
    • Power BI サービス
    • ライセンスによる違い
  • MongoDB と Power BI の連携方法
    • 接続環境について
    • MongoDB BI Connctorの設定
    • PowerBIとの連携に必要な情報を取得
    • Power BI の設定
    • DSNの作成
  • まとめ・考察・その他

Power BIとは

Power BIとは、Microsoft社が提供するBIツールです。
データから役立つインサイトをすばやく導き出し、ビジネスの意思決定改善や、情報の充実したビジュアル分析レポートの簡単な作成に活用します。

Power BIの構成要素

Power BI には以下の3つのアプリケーションが存在します。
- PowerBI Desktop
デスクトップアプリケーション(WindowsOSでのみ利用可能)
- PowerBI サービス
SaaSアプリケーション
- Power BI Mobile
iOS、Android デバイス向けの Power BI モバイルアプリ

これらが連携して機能します。違いについては後述します。

Power BI の一般的なワークフロー(参考)

まずPower BI Desktop でデータソースに接続し、レポートを作成することから始まります。 次に、そのレポートをPower BI Desktop から Power BI サービスに発行し、それを共有することで、Power BI サービスとモバイルデバイスのビジネスユーザーがレポートを表示して操作できるようにします。(下図参照)

Power BI Desktop (参考)

Power BI Desktop はローカルコンピューターにインストールする無料のアプリケーションです。データベースと連携してレポートを作成することができますが、WindowsOSでのみ利用可能です。つまり、MacOSではデータ連携ができません。

Power BI サービス(参考

Power BI オンラインとも呼ばれ、オンライン上でPowerBIの機能を使用することができますが、一部Power BI Desktopとは機能が異なります。Power BI サービスを利用するには、 ライセンスが必要であり、無料のものと有料のものが存在します(詳細は後述します)。 Power BI サービスで直接 Power BI レポートを作成することもできますが、データベースをデータソースに選択することはできません。(参考

ライセンスによる違い(参考

Power BI のユーザーごとのライセンスには、無料、Pro、Premium Per User の 3 種類があります。 ユーザーに必要なライセンスの種類は、コンテンツの格納場所、そのコンテンツとのやりとりの方法、そのコンテンツに Premium 機能を使用するかどうかによって決まります。

それぞれのライセンスの価格・内容は以下のようになります(詳細はこちら) 。さまざまなシナリオにおけるライセンスの選び方についてはこちらに詳しく記載されています。

  • Power BI (無料)
    マイ ワークスペースのコンテンツにアクセスすることができます。
  • Power BI Pro(1090円/1ユーザー・1ヶ月)
    ライブ ダッシュボードおよびレポートでデータをビジュアル化し、組織全体でインサイトを共有するための、最新のセルフサービス分析機能を個々のユーザーにライセンス付与します。
  • Power BI Premium Per User(2170円/1ユーザー・1ヶ月)
    各ユーザーにライセンスを付与して、高度な AI によるインサイト取得の促進、ビッグ データのセルフサービス データ準備の導入、エンタープライズ規模のデータ管理とアクセスの簡素化を実現します。(※ Power BI Pro で利用可能なすべての機能を含んでいます。)

MongoDB と Power BI の連携方法

接続環境について

今回はデータベースに接続してレポートを作成することが主目的なので、Power BI Desktopを使用することが必須条件になります。したがって、本レポートはWindowsで実行していることを前提にします

Windowsのバージョンについては、本レポートではWindows10を対象にしています。その理由としては、MongoDB ODBC Driverの最新のリリースが2020年であり、Windows11環境下で動作することが保証されていないためです。

また、本レポートの作成にあたって、はじめはM1チップ搭載Macbook上でParallels Desktopを使用してWindowsのVMを建てて連携作業を行ったところ、MongoDB ODBC Driverのインストールに失敗しましたので、ARM版Windowsでも同様に失敗する可能性があります。

MongoDB BI Connctorの設定

ダッシュボードから、以下のようにクラスタ名の横のメニューから、Edit Configurationを開きます。

Configurationの中から、Additional Configurationを開きます。

Additional Configuration内の、Enable Business Intelligence Connectorを有効にします。この際に、Sample Reflesh Intervalの値を忘れずに設定する必要があります。これは、MongoDBがデータを自動でサンプリングしてスキーマ情報を作成する頻度の設定であり、0以外の値を設定する必要があります。(参考)今回は600秒(10分)としています。

PowerBIとの連携に必要な情報を取得

ここに表示されている情報をBIツール側で入力することで、データを連携することが可能になります。

Power BI の設定

DSNの作成

基本的にはこのリンクに従ってPower BI DesktopとMongoDBを連携することになります。

このページ内のPrerequisitesの一つ目は「Atlas cluster with BI Connector for Atlas enabled」はすでに前章で完了しているので、ここでは二つ目の「Create a system Data Source Name (DSN)」を行います。

この手順に従って、DSNを作成します。この中にさらにPrerequisitesが二つあるので、その二つを完了する必要があります。

まずはVisual C++ Redistributable for Visual Studio 2015をダウンロード、インストールします。ダウンロードページでは以下のように言語を選択します。

次に実行ファイルが二種類提示されますので、ダウンロードしたい端末に適切なファイルを選びダウンロードします。今回はx64(64bit)を選択しました。

ダウンロードしたファイルを起動すると、以下のようにセットアップウィザードが表示されます。

指示に従ってインストールを進めていき、完了すると以下のようになります。

次にMongoDB ODBC Driver for BI Connectorをダウンロード、インストールします。一覧の中で名前にwinが含まれる二種類のファイルのうち、ダウンロードしたい端末に適切なファイルを選びダウンロードします。今回はx64(64bit)を選択しました。

ダウンロードしたファイルを起動すると、以下のようにセットアップウィザードが表示されますので、手順にしたがってインストールを進めます。

完了すると以下の画像のようになります。

これでDSN作成におけるPrerequisitesは完了したので、実際にDSNの作成に入っていきます。まずはODBC Data Sources programを起動します。今回も64ビットを選択し、起動しました。

すると以下のようが画面が開くので、「システムDSN」のタブを選び、追加ボタンを押します。

Prerequisitsがうまくいっていれば、以下の画面のようにMongoDB ODBC Driverが二種類表示されるはずです。この二種類は文字列のエンコード方式の違いであり、前者の方がパフォーマンスは向上する代わりに、表示できる文字の幅が狭まるそうです。(参考
今回は後者のUnicode Driverを選択しました。

完了を押すと以下の画面が表示されます。ここにMongoDBへの接続情報を記入していきます。
- Data Source Name: DSNの名前。
- Description: 任意の説明文。なくても良い。
- TCP/IP Server: MongoDBの初期設定で得たHostnameを入力
- Port: MongoDBの初期設定で得たPortを入力
- User: MongoDBの初期設定で得たUserを入力
- Password: MongoDBの初期設定で設定したユーザのパスワードを入力
- Database: 接続したいデータベースを選択(もしもここに接続したいデータベース名が表示されていない場合、MongoDBのサンプリングが終了していない場合があります。その場合はMongoDBで設定したサンプリングインターバルの時間待つ必要があります。)

接続がうまくいっているかどうかを確かめるにはTestボタンを押します。うまくいった場合、以下のように成功した旨のメッセージが表示されます。

連携方法

ここまで完了すれば、接続方法のPrerequisitesが二つとも完了していますので、実際に連携に進むことができます。

Power BI Desktopを起動したのち、左上の「データを取得」をクリックします。

以下のような画面が表示されます。この中に「ODBC」がありますので、クリックして「接続」を押します。

すると以下のようにDSNを選択する画面が表示されるので、先ほど作成したDSNを選択し、OKを押します。

ユーザ名とパスワードの入力を求められますので、データベースのユーザとパスワードを入力し、接続ボタンを押します。

すると以下のように、読み込みたいデータベース、コレクションを選択する画面が表示されますので、実際に分析に用いたいデータベース、コレクションを選択し、「読み込み」を押します。

無事に読み込みに完了したら、以下のように読み込んだデータをもとにレポートを作成することができるようになります。

これで連携は完了です。

まとめ・考察・その他

  • 基本的にはMacOSしか使えない場合はPower BIを利用できません。
  • WindowsのVMを立てることで利用可能ですが、M1チップ搭載のMacbookではうまく動作しません。
  • そのため、MacOSしか使えない場合は、Tableauなどの他のBIツールを検討するほうが良いです。

新規CTA