Morning Girl

Web API, Windows, C#, .NET, Dynamics 365/CRM etc..

請求書作成サービスMisocaのデータをPower BI ☓ CData REST ODBCドライバーを利用して分析できるようにしてみる

以前の記事で、REST Driverを利用したExcel Add-inでの連係方法を紹介しましたが、

kageura.hatenadiary.jp

今回はもう少し実践的な内容で、ビジネスアプリケーションのAPIをCData REST ODBCドライバー経由で、Power BIに繋げてみようと思います!

対象とするサービスは、SaaSの請求書作成サービスであるMisocaです。

請求書作成サービス「Misoca」

詳しくは以下のページからどうぞ!

www.misoca.jp

Misocaを使えばたった1分で請求書・見積書・納品書の作成が可能です。 メール送付・PDF発行・リンク共有・郵送もワンクリックで完結。 経理業務の手間を大幅に効率化します。 また、見積書から注文書・請求書への変換や、請求書から領収書・検収書の作成もカンタンに行えます。転記ミスや記入漏れなどの心配はもうありません。 エクセルでは実現できなかった経理業務の苦労を、Misocaでは解決します。

MisocaではREST APIを提供しており、OAuth 2.0の認証経由でアクセスすることができます。

以下で詳しいドキュメントを公開しているので、どうぞ。

Misoca API について · Misoca(ミソカ) API

具体的なAPI仕様はSwaggerで公開しているのがありがたいです。

Misoca API

アクセスできるデータの種類は、Contact(取引先)とEstimate(見積書)の2種類で

最終的には、以下のようなイメージで、Misocaに格納されているEstimateデータをPower BIで表現できるようにしたいと思います。

f:id:sugimomoto:20171212013831p:plain

なお、この記事はCData Software User Group Advent Calendar 2017の12日目です。

qiita.com

事前準備

・Misocaアカウント

・Power BI Desktop

・CData REST ODBC Driver

CData REST ODBC Driverは以下からダウンロードすることが可能です。

REST Drivers - ダウンロード

アプリケーション登録・API Access Token の取得方法

最初に、OAuth 2.0経由でAccess Tokenを取得するために、アプリケーション登録を行います。

詳しい手順は以下にも書かれています。

http://doc.misoca.jp/

まずMisoca にログインした状態で、 https://app.misoca.jp/oauth2/applications にアクセスし、[新しいアプリケーションの登録]をクリックします。

f:id:sugimomoto:20171212013934p:plain

新しいアプリケーションの登録画面が表示されるので、アプリケーションの名称とRedirect URIを指定します。

今回は、PostManを使って、Access Tokenを取得したいと思うので、RedirectURIにPostmanのURIhttps://www.getpostman.com/oauth2/callback」を指定します。

f:id:sugimomoto:20171212013941p:plain

なお、PostManを用いた、Access Tokenの取得方法は下のBlogでも紹介しているので、参考にしてみてください。

kageura.hatenadiary.jp

登録後、以下のような形でApplication IDとSecretが表示されるので、控えておきましょう。

f:id:sugimomoto:20171212014001p:plain

それでは、Access Tokenの取得です。

Postmanを起動して、[Authorization]タブの[Type]から[OAuth 2.0]を選択し、[Get New Access Token]をクリックします。

f:id:sugimomoto:20171212014007p:plain

Accessトークンを取得するためのプロパティは以下のように入力します。

[Token Name] ← 名前を自由に。

[Auth URL] ← https://app.misoca.jp/oauth2/authorize

[Access Token URL] ← https://app.misoca.jp/oauth2/token

[Client ID] ← Misocaに登録したアプリケーションのApplication ID

[Client Secret] ← Misocaに登録したアプリケーションのSeacret

[Scope] ← Write

[Grant Type] ← Authorization Code

f:id:sugimomoto:20171212014019p:plain

入力後、Request Tokenをクリックすると、MISOCSのログイン画面が表示されるので、[弥生IDでログイン]をクリックし

f:id:sugimomoto:20171212014025p:plain

ID・パスワード入力後、承認画面が表示されるので、承認をクリックします。

f:id:sugimomoto:20171212014031p:plain

これで、Accessトークンが取得できました。

f:id:sugimomoto:20171212014037p:plain

では、このAccessトークンを用いて、ODBC接続を構成してみましょう。

ODBCドライバー・Power BIの設定

RESTドライバーは事前にどのようにJSONをテーブル形式で扱うか、定義する必要があります。

自力で作成することもできますが、以下のGithubに私が作成した定義ファイル(.rsd)があるので、こちらを利用してみてください。

その上で、CData ODBC REST Driverをインストール後、ODBC データソースアドミニストレータを立ち上げて、CData REST Sourceの接続情報を構成します。

f:id:sugimomoto:20171212014052p:plain

必要なのは、上記Githubからダウンロードしたrsbファイルが配置されているフォルダのLocationとAccess Tokenの入力です。

Access Tokenは以下のような形でOther部分に[OAuth Access Token = XXXXXXXXXX]に入力します。

f:id:sugimomoto:20171212014103p:plain

これでODBC側は設定完了です。

あとは、Power BIを使って、ODBCデータソースを読み込むだけです。

Power BIを立ち上げて、[Get Data]をクリックし

f:id:sugimomoto:20171212014109p:plain

データソース一覧から[ODBC]を選択

f:id:sugimomoto:20171212014123p:plain

先程ODBCデータソースアドミニストレータで設定した CData REST Sourceを選択し、[OK]をクリック

f:id:sugimomoto:20171212014128p:plain

すると、rsdファイルで定義されたテーブル一覧が表示されるので、[Estimates]を選択します。

f:id:sugimomoto:20171212014137p:plain

Loadをクリックすると、Power BIにデータがロードされるので、これで分析のための準備は完了です。

f:id:sugimomoto:20171212014143p:plain

あとは、Power BIのお作法に従い、グラフや一覧を配置することで、以下のようなレポートを作成することができます。

f:id:sugimomoto:20171212014150p:plain

以上のような形で、Power BIにデータソースとして直接指定できないWeb APIでも、ODBC Driver経由でデータアクセスが可能なことがイメージいただけたのではないでしょうか。

おわりに

いかがでしたでしょうか。

MisocaのWeb APIは金額情報を含めた見積書のデータなので、かなり分析しがいのあるデータソースかと思います。

今回はPower BIとODBC REST Driverとの組み合わせでしたが、同じrsdファイルを利用してもらえれば、TableuとJDBC REST DriverでもBIレポートを構成することが可能です。

是非、試してみてください。