Power BI はセルフサービスデータプレパレーションを拡張し、ビジネスアナリストがビッグデータからインサイトを引き出して、エンタープライズBI プラットフォーム機能を導入する手助けをします。最近のアップデートにより、Power BI はこれまで以上に多くのデータソースに接続できるようになりました。そうは言っても、すべてを実現できる製品というものはありません。そこで出番となるのが、CData Power BI Connector です。
CData のコネクタを使用すると、CRM やマーケティングオートメーションからビッグデータやNoSQL に至るまで、サポートされている270以上のデータソースのデータにPower BI からDirectQuery できます。市販のどのコネクタよりも速くMongoDB データにアクセスでき、組み込みのモデリング機能とデータフラット化機能を活用してスキーマレスデータのテーブルライクなモデルを作成し、Power BI での表示および分析を可能にします。コーディングやデータキュレーションは必要ありません。
※本記事はCData US ブログ Real-Time Analytics on MongoDB Data in Power BI の翻訳です。
MongoDB データをリレーショナルに見せる
CData のコネクタは、NoSQL データ統合を最も迅速かつ柔軟にサポートします。NoSQL データベースをあたかもリレーショナルデータベースであるかのように扱い、SQL-92 クエリの使いやすさと実用性を備えたNoSQL データストレージの柔軟性を活用できるようにします。
CData コネクタには、既存のNoSQL データ構造(JSON オブジェクト、配列など)をマッピングまたはフラット化して、Power BI との統合を簡素化する機能がいくつか含まれています。自由形式のクエリから水平・垂直のフラット化、カスタムスキーマ定義まで、オプションは多岐にわたります。フラット化について以下で簡単に説明しますが、詳細については、NoSQL データへの連携用の高機能ドライバーの記事を参照してください。
サンプルドキュメント
以下は、listingsAndReviews コレクションのサンプルドキュメントです。このドキュメントを、ご自身のMongoDB Atlas インスタンスにロードして読み進めることができます。コレクションについての詳細は、こちらを参照してください。
{
"_id": "10082422",
"listing_url": "https://www.airbnb.com/rooms/10082422",
"name": "Nice room in Barcelona Center",
"summary": "Hi! Cozy double bed room...",
"description": "Hi! Cozy double bed...",
...
"property_type": "Apartment",
...,
"bedrooms": {
"$numberInt": "1"
},
...,
"amenities": [
"Internet",
"Wifi",
...
],
"price": {
"$numberDecimal": "50.00"
},
"monthly_price": {
"$numberDecimal": "750.00"
},
"security_deposit": {
"$numberDecimal": "100.00"
},
...,
"images": {
...
},
"host": {
...
},
"address": {
"street": "Barcelona, Catalunya, Spain",
"suburb": "Eixample",
"government_area": "la Dreta de l'Eixample",
"market": "Barcelona",
"country": "Spain",
"country_code": "ES",
"location": {
"type": "Point",
"coordinates": [
{
"$numberDouble": "2.16942"
},
{
"$numberDouble": "41.40082"
}
],
"is_location_exact": true
}
},
"availability": {
...
},
"review_scores": {},
"reviews": []
}
リレーショナルモデル
このドキュメントを念頭に置き、ドット記法と配列インデックスを使ってデータをドリルダウンして、データの階層に基づいてスキーマを構築するようにCData コネクタを設定します。
ここでは、この記事のビジュアライゼーションで使用するフィールドのみを記載します。
_id |
_id |
5780046cd5a397806c3dab3 |
longitude |
address.location.coordinates.0 |
2.16942 |
latitude |
address.location.coordinates.1 |
41.40082 |
is_location_exact |
address.location.is_location_exact |
true |
country |
address.country |
China |
price |
price |
80.00 |
property_type |
property_type |
Apartment |
monthly_price |
monthly_price |
750.00 |
security_deposit |
security_deposit |
100.00 |
bedrooms |
bedrooms |
1 |
MongoDB データをドリルダウンしてこのスキーマを構築することは、いくつかの設定プロパティを設定し、生成されたファイルを修正してフィールド名を変更するのと同じくらい簡単です。
コネクタの設定
CData MongoDB Power BI Connector をここからダウンロードします。DSN 構成ウィザードを実行する際は、以下の手順に従って、MongoDB Atlas プライマリインスタンスに接続できるようにします。これらのプロパティを変更する必要がある場合は、付属のODBCConfigure.exe アプリケーションをいつでも実行できます。
- 認証:MongoDB インスタンスに接続するには、Auth Scheme、Server、Port、User、Password、Database、およびAuth Database プロパティを設定します。また、Use SSL を"True" に設定します。
- Miscellaneous:高度な設定タブで、Flatten Arrays プロパティを"2" に、Flatten Objects プロパティを"True" に設定し、Generate Schema Files を"OnStart" に設定します。
- Schema:同じく高度な設定タブで、Location をスキーマファイルのディレクトリに設定し、オプションでTables プロパティを"listingsAndReviews" に設定してlistingsAndReviews コレクションでのみ操作するようにします。
接続プロパティを設定したら、「接続テスト」をクリックしてプロパティが適切に設定されていることを確認し、スキーマファイルを生成します。
スキーマファイル
生成されたスキーマファイル(.rsd)を開き、テーブル / カラムの定義を確認します。それぞれのカラムは特定の属性(カラムが読み取り専用かどうか、ソースのデータ型など)を持っています。
この例では、シンプルに既存のスキーマ定義を編集し、不要なカラムを削除して、他のカラムのname 属性を変更します(可読性を考慮して属性は切り詰め)。
ライブMongoDB データをPower BI で
接続とスキーマファイルが両方構成できたら、Power BI でライブMongoDB データを表示することができます。CData コネクタはカスタムコネクタインターフェースを使用して構築されているため、MongoDB データをメモリに取り込む(インポート)か、ライブ接続(DirectQuery)するかを選択できます。
1. 「データを取得」をクリックして「CData MongoDB」を検索(または「その他」をクリックして「CData MongoDB」にスクロール)し、「接続」をクリックします。
2.次に、先ほど設定したDSN を入力し、「インポート」または「DirectQuery」を選択して「OK」をクリックします。
3.テーブルを選択(例:listingsAndReviews)して「読み込み」をクリックします。
この時点で、Power BI の「データ」メニューに表示されるように、Power BI でlistsAndReviews データ(スキーマファイルで定義されたもの)にアクセスできるようになります。
CData Power BI Connector を使用すると、Power BI から MongoDB への直接接続が可能になるため、SaaS やNoSQL データの作業に伴う従来のデータレプリケーションや仮想化の手順を回避して、ビジュアライゼーションやレポートの作成にすぐに取りかかることができます。
Power BI でMongoDB データをビジュアライズ
MongoDB データへのライブ接続が確立できたので、Power BI でビジュアライゼーションを作成する準備ができました。listingsAndReviews データには多くの特徴的なパーツがあります。組み込みのロケーションマッピングのおかげで、緯度と経度を使って物件タイプ別にリストマップを作成できます。
手始めに、マップを作成してみましょう。
マップのビジュアライゼーションを作成
- 「視覚化」メニューのマップアイコンをクリックします。
- latitude とlongitude を、「視覚化」メニューの対応するフィールドにドラッグします。
- property_type を「凡例」フィールドにドラッグします。
- 最後に、is_location_exact をフィルターセクションにドラッグしてTrue を選択します。
これで、物件別に色分けされた、各リストをプロットするマップグラフができました。
積み上げ縦棒グラフを作成
- 「視覚化」メニューの「積み上げ棒グラフ」アイコンをクリックします。
- address_country をX軸フィールドにドラッグします。
- price をY軸フィールドにドラッグし、ドロップダウンを選択して「平均」をクリックします。
- property_type を「凡例」フィールドにドラッグします。
これで、複数の異なる国における物件タイプ別の平均価格を示す、積み上げ縦棒グラフが完成しました。
その他のビジュアライゼーション
国別の平均月額、平均敷金、平均寝室数を表示するテーブルを追加したレポートを作成してみました。このレポートでは、Power BI のフォーカス機能を使って国を選択し、選択した国でレポートをフィルタリングすることができます。
無償トライアル & もっと詳しくは
CData Power BI Connectors を活用すると、ユーザーはPower BI をSaaS、ビッグデータ、NoSQL データソースのライブデータに接続し、分析し、ビジュアライゼーションを構築してビジネスを推進することができます。
まずはPower BI Connectors の30日無償トライアルをお試しください。また、YouTube チャンネルにて動画をご覧いただくこともできます。評価中ご不明な点がありましたら、いつでもCData にご連絡ください。ワールドクラスのCData サポートチームが丁寧にお手伝いします!
関連コンテンツ