【ノーコード】SAP Analytics Cloud でZuora のデータを分析する方法
SAP Analytics Cloud は、クラウドベースのビジネスインテリジェンスプラットフォームです。CData API Server は、Zuora の仮想データベースを作成し、Zuora のOData API(Analytics Cloud でネイティブに使用可能)を生成するために使用できます。SAP Analytics Cloud をCData API Server とペアリングすることで、すべてのSaaS およびBig Data とNoSQL ソースへの、データを移行したり統合したりする必要のない接続が可能になります。ほかのOData サービスと同様に、API Server に接続するだけで、すべてのデータに瞬時にライブアクセスできます。
この記事では、API Server でのZuora への接続と、Analytics Cloud からのAPI Server への接続について説明し、モデルと簡単なダッシュボードを作成します。
API Server の設定
以下のリンクからAPI Server の無償トライアルをスタートしたら、セキュアなZuora OData サービスを作成していきましょう。
Zuora への接続
SAP Analytics Cloud からZuora のデータを操作するには、まずZuora への接続を作成・設定します。
- API Server にログインして、「Connections」をクリック、さらに「接続を追加」をクリックします。
- 「接続を追加」をクリックして、データソースがAPI Server に事前にインストールされている場合は、一覧から「Zuora」を選択します。
- 事前にインストールされていない場合は、コネクタを追加していきます。コネクタ追加の手順は以下の記事にまとめてありますので、ご確認ください。
CData コネクタの追加方法はこちら >> - それでは、Zuora への接続設定を行っていきましょう!
-
Zuora はユーザー認証にOAuth 標準を使用しています。OAuth 認証ついて詳しくは、オンラインヘルプドキュメントを参照してください。
Tenant プロパティの設定
プロバイダへの有効な接続を作成するには、アカウントの設定と合致するテナント値を1つ選択する必要があります。以下は、利用可能なオプションのリストです。- USProduction:リクエストはhttps://rest.zuora.com に送信されます。
- USAPISandbox:リクエストはhttps://rest.apisandbox.zuora.com に送信されます。
- USPerformanceTest:リクエストはhttps://rest.pt1.zuora.com に送信されます。
- EUProduction:リクエストはhttps://rest.eu.zuora.com に送信されます。
- EUSandbox:リクエストはhttps://rest.sandbox.eu.zuora.com に送信されます。
デフォルトではUSProduction テナントを使用します。
Zuora サービスの選択
データクエリとAQuA API の2つのZuora サービスを使用します。デフォルトでは、ZuoraService はAQuADataExport に設定されています。DataQuery
データクエリ機能は、非同期の読み取り専用SQL クエリを実行することで、Zuora テナントからのデータのエクスポートを実現します。 このサービスは、素早く軽量なSQL クエリでの使用を推奨します。制限
- フィルタ適用後の、テーブルごとの入力レコードの最大数: 1,000,000
- 出力レコードの最大数: 100,000
- テナントごとの、実行用に送信される同時クエリの最大数: 5
- テナントごとの、同時クエリの制限に達した後に実行用に送信され、キューに追加されるクエリの最大数: 10
- 1時間単位での、各クエリの最大処理時間: 1
- GB 単位での、各クエリに割り当てられるメモリの最大サイズ: 2
- Index Join を使用する際のインデックスの最大値。言い換えれば、Index Join を使用する際にWHERE 句で使われる一意の値に基づいた、左のテーブルから返されるレコードの最大数: 20.000
AQuADataExport
AQuA API のエクスポートは、すべてのオブジェクト(テーブル)のすべてのレコードをエクスポートするように設計されています。AQuA のクエリジョブには以下の制限があります。制限
- AQuA のジョブ内のクエリが8時間以上実行されている場合、ジョブは自動的に停止されます。
- 停止されたAQuA のジョブは3回再試行可能で、その後失敗として返されます。
- 接続情報の入力が完了したら、「保存およびテスト」をクリックします。
Zuora はユーザー認証にOAuth 標準を使用しています。OAuth 認証ついて詳しくは、オンラインヘルプドキュメントを参照してください。
Tenant プロパティの設定
プロバイダへの有効な接続を作成するには、アカウントの設定と合致するテナント値を1つ選択する必要があります。以下は、利用可能なオプションのリストです。
- USProduction:リクエストはhttps://rest.zuora.com に送信されます。
- USAPISandbox:リクエストはhttps://rest.apisandbox.zuora.com に送信されます。
- USPerformanceTest:リクエストはhttps://rest.pt1.zuora.com に送信されます。
- EUProduction:リクエストはhttps://rest.eu.zuora.com に送信されます。
- EUSandbox:リクエストはhttps://rest.sandbox.eu.zuora.com に送信されます。
デフォルトではUSProduction テナントを使用します。
Zuora サービスの選択
データクエリとAQuA API の2つのZuora サービスを使用します。デフォルトでは、ZuoraService はAQuADataExport に設定されています。DataQuery
データクエリ機能は、非同期の読み取り専用SQL クエリを実行することで、Zuora テナントからのデータのエクスポートを実現します。 このサービスは、素早く軽量なSQL クエリでの使用を推奨します。制限
- フィルタ適用後の、テーブルごとの入力レコードの最大数: 1,000,000
- 出力レコードの最大数: 100,000
- テナントごとの、実行用に送信される同時クエリの最大数: 5
- テナントごとの、同時クエリの制限に達した後に実行用に送信され、キューに追加されるクエリの最大数: 10
- 1時間単位での、各クエリの最大処理時間: 1
- GB 単位での、各クエリに割り当てられるメモリの最大サイズ: 2
- Index Join を使用する際のインデックスの最大値。言い換えれば、Index Join を使用する際にWHERE 句で使われる一意の値に基づいた、左のテーブルから返されるレコードの最大数: 20.000
AQuADataExport
AQuA API のエクスポートは、すべてのオブジェクト(テーブル)のすべてのレコードをエクスポートするように設計されています。AQuA のクエリジョブには以下の制限があります。制限
- AQuA のジョブ内のクエリが8時間以上実行されている場合、ジョブは自動的に停止されます。
- 停止されたAQuA のジョブは3回再試行可能で、その後失敗として返されます。
API Server のユーザー設定
次に、API Server 経由でZuora にアクセスするユーザーを作成します。「Users」ページでユーザーを追加・設定できます。やってみましょう。
- 「Users」ページで ユーザーを追加をクリックすると、「ユーザーを追加」ポップアップが開きます。
-
次に、「ロール」、「ユーザー名」、「権限」プロパティを設定し、「ユーザーを追加」をクリックします。
-
その後、ユーザーの認証トークンが生成されます。各ユーザーの認証トークンとその他の情報は「Users」ページで確認できます。
Zuora 用のAPI エンドポイントの作成
ユーザーを作成したら、Zuora のデータ用のAPI エンドポイントを作成していきます。
-
まず、「API」ページに移動し、
「 テーブルを追加」をクリックします。
-
アクセスしたい接続を選択し、次へをクリックします。
-
接続を選択した状態で、各テーブルを選択して確認をクリックすることでエンドポイントを作成します。
OData のエンドポイントを取得
以上でZuora への接続を設定してユーザーを作成し、API Server でZuora データのAPI を追加しました。これで、OData 形式のZuora データをREST API で利用できます。API Server の「API」ページから、API のエンドポイントを表示およびコピーできます。
(オプション)Cross-Origin Resource Sharing (CORS) を構成する
Ajax などのアプリケーションから複数の異なるドメインにアクセスして接続すると、クロスサイトスクリプティングの制限に違反する恐れがあります。その場合には、[OData]->[Settings]でCORS 設定を構成します。
- Enable cross-origin resource sharing (CORS):ON
- Allow all domains without '*':ON
- Access-Control-Allow-Methods:GET, PUT, POST, OPTIONS
- Access-Control-Allow-Headers:Authorization
SAP Analytics Cloud でZuora のデータのモデルを作成する
Zuora への接続が設定されてOData エンドポイントが作成されると、SAP Analytics Cloud でZuora のデータのモデルを作成できるようになります。
- Analytics Cloud インスタンスにログインし、メニューから「Create」->「Model」と進みます。
- 「Get data from a datasource」から「OData Services」を選択します。
- API Server OData への既存の接続を選択、または新しい接続を作成します。
- 「Connection Name」を設定します。
- 「Data Service URL」をOData API のBase URL に設定します。(通常はCONNECT_SERVER_URL/api.rsc)
- 「Authentication Type」をBasic Authentication に設定します。
- 「User Name」を構成済みのAPI Server ユーザーに設定します。
- 「Password」を上記のユーザーの認証トークンに設定します。
- 「Create a new query」を選択して「Next」をクリックします。
- クエリに名前を付け、OData エンドポイント(zuoradb_Invoices など)を選択して「Next」をクリックします。
- 使用したいカラムを「Selected Data」ワークスペースにドラッグし、「Create」をクリックします。
- この時点でドラフトデータソースが作成されるため、ドラフトをクリックしてモデルを完成させます。
- 計算ディメンション、場所ディメンションの作成、データソースの結合などの変換を実行し、「Create Model」をクリックします。
- モデルに名前を付け、「OK」をクリックします。
SAP Analytics Cloud でダッシュボードを構築する
モデルが作成されたら、Zuora のデータを使用してSAP Analytics Cloud でダッシュボードを作成できるようになります。
- メニューから「Create」->「Story」とクリックします。
- SAP Analytics Template をクリックします。(この記事では、「Dashboard」テンプレートを使用します。)
- レイアウトを選択して「Apply」をクリックします。
- 「More」メニューから挿入するビジュアライゼーション(チャート)を選択します。
- ビジュアライズするモデルを選択します。
- 構造と必要なメジャー、ディメンションを選択します。
- ストーリーを保存します。
おわりに
これで、リアルタイムZuora のデータから簡単で強力なダッシュボードが作成できました。Zuora(および250 以外のデータソース)のOData フィードを作成する方法の詳細については、API Server ページにアクセスしてください。無料トライアルにサインアップして、SAP Analytics Cloud でリアルタイムZuora のデータの操作を開始してください。