CData Software Blog

クラウド連携のCData Software の技術ブログです。

Power BI から IBM Cloud の NoSQL データベース Cloudant に接続する方法

f:id:sugimomoto:20211025173925p:plain

こんにちは。CData Software Japan リードエンジニアの杉本です。

今回はお客様から相談があったPower BI から IBM Cloudantに接続する方法を紹介したいと思います。

IBM Cloudant とは

オープンソースApache CouchDBをベースにした、IBM Cloud上で提供されるNoSQLデータベースサービスです。

f:id:sugimomoto:20211025173043p:plain

NoSQLの種類の中でもドキュメント指向に分類されるもので、データベース内部では以下のようにJSONベースでデータを管理しているのが特徴ですね。

f:id:sugimomoto:20211025173052p:plain

なお、Microsoft Power BIではIBM Cloudantに接続するためのコネクターもしくは、IBM CloudantがベースにしているCouchDBに接続するためのコネクターが提供されていませんので、シームレスには接続することができません。

f:id:sugimomoto:20211025173057p:plain

そこで、このボトルネックを CData Cloudant Power BI Connectorを使って解消します。

https://www.cdata.com/jp/drivers/cloudant/powerbi/

f:id:sugimomoto:20211025173102p:plain

IBM Cloudant の環境構成

それではまず、IBM Cloudantの環境を構成しましょう。

IBM Cloud の Console にログインし「Cloudant」のリソースを作成します。

f:id:sugimomoto:20211025173111p:plain

今回は東京リージョンのLiteプランで作成してみました。Freeで使い始められるみたいでいいですね。

f:id:sugimomoto:20211025173117p:plain

リソースを作成すると、以下のような管理画面が表示されます。ここで表示されるExternal Endpointは後ほどPower BIから接続する際に利用するので控えておきましょう。

f:id:sugimomoto:20211025173123p:plain

IBM Cloud APIキーの作成

External Endpointと併せて、接続に必要となるIBM Cloud APIキーも生成しておきましょう。以下のURLにアクセスして「IBM Cloud APIキーの作成」をクリックします。

https://cloud.ibm.com/iam/apikeys

f:id:sugimomoto:20211025173129p:plain

任意のキーの名前を入力して「作成」をクリックすると

f:id:sugimomoto:20211025173134p:plain

以下のようにAPIキーが取得できるので、併せて控えておきます。

f:id:sugimomoto:20211025173139p:plain

これで、接続する際に必要となるExternal EndpointとAPIキーの準備は完了です。

データベースの作成

せっかくなので、環境にデータベースも作成しておきます。

先程のCloudantの管理画面から「Lanuch Dashboard」をクリックすると、Cloudantのデータや設定を管理するための画面に移動できます。

f:id:sugimomoto:20211025173144p:plain

ここで画面右上の「Create Database」からCloudantの新しいデータベースが追加できます。

f:id:sugimomoto:20211025173148p:plain

データベースを作成したら、ドキュメントも追加してみましょう。「Create Document」をクリックすると

f:id:sugimomoto:20211025173153p:plain

以下のようにJSONを編集する画面が表示されるので、任意の項目で作成します。

f:id:sugimomoto:20211025173157p:plain

これでデータベースにドキュメントが登録できました。

f:id:sugimomoto:20211025173202p:plain

CData Power BI Connector for Cloudant のセットアップ

それでは、Power BIとCData Cloudant Connectorを使って、このデータにアクセスしてみましょう。

まず、Power BI 用のCloudantコネクターとして、CData Power BI Connector for Cloudant をセットアップします。

以下のURLから30日間のトライアルがダウンロードできるので、任意のマシンにインストールしてください。

https://www.cdata.com/jp/drivers/cloudant/powerbi/

f:id:sugimomoto:20211025173208p:plain

インストーラーを立ち上げると、以下のようにセットアップ画面が表示されるので、手順に従って進めます。

f:id:sugimomoto:20211025173236p:plain

セットアップが完了すると、接続設定の画面が表示されるので、予め取得しておいたExternal EndpointとAPI キーを用いて、以下のように接続構成を行います。

プロパティ名 備考
Auth Scheme OAuth 固定でOAuthを指定します。
URL 例)https://12345678-1234-1234-1234-12345678-bluemix.cloudant.com External Endpoint を指定します。
Api Key 例)12345678-1234-1234-1234-12345678 IBM Cloud APIキーを指定します。
Initiate OAuth GETANDREFRESH OAuthのToken取得方式を指定します。今回はGETANDREFRESHを指定します。

f:id:sugimomoto:20211025173241p:plain

入力後「接続のテスト」をクリックして、以下のようにメッセージが表示されればOKです。

f:id:sugimomoto:20211025173246p:plain

Power BI から接続

接続設定が完了したら、Power BI から Cloudantに接続してデータを取得してみましょう。

Power BI Desktopを立ち上げて、データを取得する一覧から「CData Cloudant」を選択します。

f:id:sugimomoto:20211025173254p:plain

Data Source Nameで先程構成した接続設定の名前「CData Power BI Cloudant」を入力し、「OK」をクリックします。

f:id:sugimomoto:20211025173258p:plain

以下の画面ではそのまま「接続」をクリックします。

f:id:sugimomoto:20211025173303p:plain

ナビゲーター画面に映ると、データベースの一覧が表示され、中のドキュメントを確認できます。

あとはこれを読み込むだけで、Power BIにCloudantのデータがロードされます。

f:id:sugimomoto:20211025173314p:plain

以下のようにCloudantのデータを読み込むことができました。

f:id:sugimomoto:20211025173322p:plain

あとはPower BIの機能を使って、Cloudant のデータを可視化・分析できます。

f:id:sugimomoto:20211025173326p:plain

おわりに

なお、前述の通り Cloudant はJSONドキュメントベースのNoSQLなので、CData Power BI Connector は自動スキーマ検出を使って、データモデル・各種項目情報を識別しています。

詳しくは以下のドキュメントを参照してみてください。

cdn.cdata.com

ここはかなり細かなチューニングを行うことができるので、もしわからない点、使い方で気になる点があればテクニカルサポートデスクまでお気軽にお問い合わせください。

https://www.cdata.com/jp/support/submit.aspx