
こんにちは。CData Software Japanリードエンジニアの杉本です。
今回はCData Driver V21リリースで正式に新しいラインナップとして加わったZuora Driverの使い方を紹介したいと思います。
Zuora とは?
Zuora はサブスクリプション型のビジネスを営む企業向けに最適化したSaaSアプリケーションです。
サブスクリプション型ビジネスに必要とされる見積作成、販売、契約管理、請求計算・発行、クレジットカード決済連携、入金・回収管理、売上計上、会計締め処理、分析・レポート等、幅広い業務に対応したアプリケーションになっています。

また、Zuoraでは各種データと連携が可能なAPIが数多く提供されています。

今回はこのAPIを用いて、BIツールとの連携を行ってみます。
CData Zuora Driverではどんなことができるの?
Zuora API では Data Queryと呼ばれる、Zuoraの各種データをクエリ・取得するためのAPIが提供されています。
SQLライクなリクエストが実施できるため、とても柔軟にデータが取得できるのですが、インターフェースが独自仕様のため、例えばBIツールからリクエストを行いたいといっても、実はそう単純には接続できません。
そのため、基本的にはカスタムコネクタやバッチ処理を行うためのプログラムが必要になってしまいます。

そこで、CData API Driver を用いて、このボトルネックを解決します。
BIツールの多くはデータベースなどへの接続のため、標準でODBCやJDBCといったRDB接続用のインターフェースを持っています。CData Driverはその標準インターフェースを利用し、各ツールから受け取ったSQLを変換して Zuora API へリクエストを行うようにします。
リクエスト後、Zuoraから返ってきたデータセットはCData Driverが各インタフェースのテーブル形式に変換してBIツールに返すようにします。

これにより、各種ツールからアドホックにSQLによるリクエストがあったタイミングで最新のデータを API から取得することが可能です。
これで以下のようなBIツールによる可視化を簡単に行うことができるようになります。

手順
それでは実際にCData Zuora Driverを使って、Power BIにデータを取り込み、Zuoraのデータを可視化してみましょう。
Zuora 側のAPI接続準備
CData Driverから接続する前に、Zuora側でAPI接続用の準備を行います。
ちなみに、API接続には対象のユーザーを決めるのですが、Zuora 公式リファレンスではAPI ユーザーの作成をおすすめしています。必要に応じて作成してみてください。
まず、Zuoraに管理者アカウントでログインし、「Settings」→「Administration」ページに移動します。

前述の通りAPIアクセスはユーザーに紐づけて行うので「Manage Users」に移動します。

ユーザー一覧が表示されたら、APIアクセス構成を行うユーザーアカウントを選択します。

ユーザー詳細画面に移動すると、画面下部に「OAuth Clients」という項目があります。ここがAPIアクセス情報を構成するところです。
ここで任意のClient Nameを入力して、「Create」をクリックします。

クリック後、以下のようにAPIアクセスに必要となる「ClientId」「Client Secret」が表示されるので、この情報を控えておきます。

CData Zuora Driverのインストール
続いて、CData Zuora Driverを構成します。
今回はPower BI から Zuoraに接続するので、Power BI 専用のDriverである「Zupra Power BI Connector」を使います。
下記URLから30日間のフル機能トライアルが入手できるので、ダウンロードしてセットアップを行います。

セットアップはダイアログに従って進めることができます。

セットアップが完了すると、以下のように接続設定画面が立ち上がるので、先程取得したZuoraのAPIアクセス情報を元に、接続設定を行います。
| プロパティ名 | 値 | 備考 |
|---|---|---|
| Tenant | 例)USAPISandbox | 利用環境に併せて対象となるTenantを選択してください。詳しくはこちら |
| Zuora Service | DataQuery | DataQueryまたはAQuADataExportから選びます。詳しくはこちら |
| Initiate OAuth | GETANDREFRESH | |
| OAuth Client Id | 例)b40dab23-ccd6-473b-ad12-785b5ca2c594 | 先程生成したZuora Client Idを入力します。 |
| OAuth Client Secret | 例)+IT0XO14SLZ0eigjYIYvXLGgSS8oBchcmsmVrPC | 先程生成したZuora Client Secretを入力します。 |

入力後接続テストをクリックし、接続が正常に完了すればOKです。
「OK」をクリックして設定を保存しましょう。
Power BI からの接続
準備が整ったので早速Power BIからZuoraのデータにアクセスしてみます。
Power BI Desktop を立ち上げて「データを取得」をクリックします。

対象のサービス一覧から「CData Zuora」を選択します。

コネクション画面が表示されるので、Data Source Nameの欄に「CData Power BI Zuora」と入力し「OK」をクリックしてください。

以下の設定画面ではそのまま「接続」をクリックして大丈夫です。

正常に接続が行われると、以下のようなテーブル一覧画面が表示されるので、ここで取得したいデータを自由に選択することができます。今回は請求情報・注文情報などが含まれるInvoiceItem・OrderItem、そして商品マスタであるProductを選択してみました。
必要なテーブルを選択したら「読み込み」をクリックしてください。

これで以下のようにPower BIにZuoraのデータを取り込むことができました。

なお、Zuoraのデータは正規化されているので、InvoiceItemでProductのプロパティを元に分析したい場合は、以下のように紐付けを行う必要があります。

あとはPower BIの機能をフルに活用して分析・可視化につなげることができます。
例えば、Product毎の請求金額などがサクッと可視化できます。

Tips:DataQueryとAQuADataExport の違いについて
接続設定画面でちらっと紹介した「DataQuery」「AQuADataExport 」ですが、以下のヘルプで詳しい違いを掲載しています。

大きな違いとしては「DataQuery」は細かなフィルター条件を元にデータを抽出できるのですが、「AQuADataExport 」はかならず内部でデータを全件取得しています。
CData Zuora Driverはその特性上、「DataQuery」「AQuADataExport」どちらを使ってもフィルター条件が表面的には効くのですが「AQuADataExport」の場合は内部的に一度メモリ上にデータをすべてロードしてから、マシン上でフィルタリングが行われます。
これが最終的にはデータクエリ時のパフォーマンスなどにつながってくるので、API Limitも鑑みながら、ユースケースに併せてどちらが望ましいか選んでください。
おわりに
今回はPower BIからZuoraに接続してみましたが、他のBIツール、例えば TableauやQlikなどからも同じように接続が可能です。
各種ツールからの接続方法については下記リンクにまとめてありますので、参考にしてみてください。
