CData Software Blog

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

エネがえるAPIを使って、Power BI で太陽光発電量を計算してみる:CData API Driver

f:id:sugimomoto:20201208152824p:plain

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

今回は家庭用太陽光・蓄電池・オール電化の経済効果診断・シミュレーションサービスである「エネがえる」の API と CData Driverの連携方法を紹介したいと思います。

エネがえるとは?

家庭用太陽光・蓄電池・オール電化の経済効果診断をSaaSAPI形式で提供しているサービスです。

https://www.enegaeru.com/

f:id:sugimomoto:20201208152800p:plain

以下のように必要な項目を入力していくだけで、オール電化太陽光パネル・蓄電池を導入した場合の効果が簡単にシミュレーションできるようになっています。

speakerdeck.com

また、エネがえるでは他社サービス・データと組み合わせてシミュレーションを実施できるAPIが提供されています。

https://www-v4.enegaeru.com/apidoc/api-general.html

f:id:sugimomoto:20201208152810p:plain

今回はこのエネがえるAPIを使って、太陽光発電量計算の結果をPower BIで分析してみたいと思います。

実現イメージ

Power BI は汎用のWebコネクタやPowerQueryを用いることで各種APIに接続が可能です。しかしながら、APIに関する知識の習得はもちろんのこと、ページネーション・認証・取得したデータのスキーマ対応をどのように対応するかといった課題が存在し、分析担当者が簡単に接続できるとまでは言えません。

f:id:sugimomoto:20201208152816p:plain

そこで、CData API Driver を用いて、このボトルネックを解決します。

各ツールが標準で持っているODBCJDBCのインターフェースを持っています。CData API Driverはその標準インターフェースを利用し、各ツールから受け取ったSQLを変換して エネがえる API へリクエストを行うようにします。

リクエスト後、Jsonフォーマットで返ってきたデータセットはCData API Driverが各インタフェースのテーブル形式に変換してBIツールに返すようにします。

f:id:sugimomoto:20201208152824p:plain

これにより、各種ツールからアドホックSQLによるリクエストがあったタイミングで最新のデータを API から取得することが可能です。

なお、今回はPowerBIから接続としましたが、TableauやQlikなどからも同じように接続が可能である点が特徴です。各BIツールでそれぞれコネクターを作る必要がありません。

手順

それでは実際に Power BI と エネがえる API の連携する手順を説明します。

PowerBI は以下URLから予めデスクトップ版をダウンロードしておいてください。

powerbi.microsoft.com

エネがえる API Key の取得

エネがえる APIに接続するためには、API KeyおよびログインユーザーのID・PWが必要となります。

API Keyはエネがえるサポートまで問い合わせしてみてください。

CData API Driver 接続用設定ファイルの作成

次に、CData API Deiver が エネがえる API を適切に利用できるようにするための設定ファイルを作成します。

以下のURLから保存してください。

https://cdatajbuilds.s3-ap-northeast-1.amazonaws.com/APIProfiles/Enegaeru.apip

保存先フォルダは後ほど使用するので「C:\CData_REST\Enegaeru」といった任意のフォルダに配置してください。

f:id:sugimomoto:20201208152831p:plain

CData API Driver for ODBC のインストール

Power BI と エネがえる API を繋ぐために必要となるCData API Driverをインストールします。

f:id:sugimomoto:20200923174403p:plain

まず、以下のURLからCData API Driver for ODBC の30日間の評価版をダウンロードします。ダウンロードの際には、Emailの登録が必要となります。

https://www.cdata.com/jp/download/download.aspx?sku=FADF-A&type=demo

ダウンロードしたsetup.exeファイルをBIツールがインストールされているマシンにインストールします。インストールウィザードに従い、EULAを確認した上でインストールを完了します。

f:id:sugimomoto:20200923174413p:plain

※途中、ライセンスサーバーへのオンラインアクティベーションが行われるためネットワーク環境に接続されている必要があります。

インストールが完了すると、ODBCのDSN設定のウィンドウが立ち上がります。

以下の項目をセットし、保存します。

プロパティ名 概要 入力例
Profile エネがえる.apipのファイルパス C:\API Profiles\Enegaeru.apip
ProfileSettings エネがえるのAPI Tokenを指定 APIKey=XXXXX;
Auth Scheme 認証方法:エネがえる独自の認証を利用するため、Noneを指定 None
User エネがえるログインアカウントID YOUR_ACCOUNT
Password エネがえるログインアカウントPW YOUR_PASSWORD

f:id:sugimomoto:20201208152837p:plain

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

f:id:sugimomoto:20201208152842p:plain

以上で、CData API Driver for ODBC の準備は完了です。

Power BI からの接続

それでは、Power BIから CData API Driver for ODBC に接続します。

PowerBI デスクトップを立ち上げて「データを取得」をクリックし

f:id:sugimomoto:20200115120336p:plain

ODBC 接続を選択します。

f:id:sugimomoto:20200115120341p:plain

データソース名から先程ODBCで登録したDSNを選択し、Windows認証で接続します。

f:id:sugimomoto:20201208152849p:plain

また、合わせて詳細オプションから、太陽光発電量計算を行うためのテーブルに対するクエリを記述します。

CData ではこのようにWhere句で必要なプロパティをシンプルに記述することができます。

SELECT * FROM PvPowerCalc WHERE 
PointNo = 44132
AND MakerCorrection = 4200
AND PcsConversion = 98 
AND PcsOutput = 5.5;
プロパティ名 備考
PointNo 地域番号 44132
MakerCorrection メーカー補正値 4200
PcsConversion PCS変換効率 98
PcsOutput PCS出力値 5.5

これで Power BIにフラットな形で エネがえる の上記パラメータをもとにした太陽光発電量のデータが取り込まれます。

f:id:sugimomoto:20201208152856p:plain

通常エネがえるAPIでは、以下のようなJSON構造のデータを取得しますが、API DriverがBIツールなどでグラフ化をしやすいように、フラット化して、データを返してくれるようになっています。

f:id:sugimomoto:20201208152902p:plain

あとはPower BIのビジュアライズの機能を用いて、時間あたりの発電量などを可視化することができます。

f:id:sugimomoto:20201208152910p:plain

おわりに

本記事では Power BI をもとに解説しましたが、CData API DriverではPowerBI以外のBIツールやアナリティクスツールの接続もサポートしています。

以下のURLで各ツールの接続リファレンスを公開していますので、普段使っているツールから是非試してみてください。

http://www.cdata.com/jp/drivers/rest/

f:id:sugimomoto:20200115120402p:plain