CData Software Blog

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

データ可視化ソリューション「Reveal」からSalesforce に接続して顧客データを分析する方法

この記事ではデータ可視化ソリューション「Reveal」から「Salesforce」に接続し、顧客データを可視化する方法を紹介します。

Reveal とは?

Reveal とは インフラジスティックス 社が提供するデータ可視化ソリューションです。

さまざまなデバイスに 対応するBIサービスを手軽に自社サービス・アプリに組み込むことができるコンポーネントサービスです。

revealbi.io

f:id:sugimomoto:20190702125938p:plain

kageura.hatenadiary.jp

接続手順

Reveal は 様々なデータソースへの接続を効率よく行うため、OData エンドポイントのデータソースをサポートしています。

しかしながら、各種API は OData で公開されていることがあまり多くありません。そこで CData API ServerのODataエンドポイントの機能を活用して、各APIをODataに変換し、Revealからシームレスに接続できるようにします。

f:id:sugimomoto:20190722154425p:plain

CData API Serverが構築されていない場合は、以下の手順に従って環境を構築しておきます。

Azure SQL DatabaseをCData API ServerでWeb API(OData)アクセスできるように構成してみる その1 Web Apps構成編

なお、Revealがクラウドで利用するタイプの場合は、CData API Serverもクラウド上にホスティングする必要があります。

Salesforce 接続情報の構成(CData API Server)

まず、CData API ServerからSalesforceへの接続を構成します。

「設定」→「接続」→「+接続の追加」をクリックし

f:id:sugimomoto:20190722153431p:plain

Salesforce」を選択します。

f:id:sugimomoto:20190722153438p:plain

Salesforceへ接続するために、以下の情報を入力し、「変更を保存」をクリックします。

項目
User ログインするユーザーアカウントを指定します。
Password ログインするユーザーアカウントのパスワードを指定します。
Security Token Salesforceから取得したAPI接続用のトークンを指定します。

f:id:sugimomoto:20190722153447p:plain

リソースの定義(CData API Server)

次にSalesforceから取得したいリソースを定義します。

「設定」→「リソース」→「リソースを追加」をクリックし

f:id:sugimomoto:20190722153454p:plain

先程追加した接続先を選択

f:id:sugimomoto:20190722153505p:plain

取得したいテーブルを選択し、次へをクリックします。

f:id:sugimomoto:20190722153512p:plain

「リソースの編集」はデフォルトのままでOKです。これで設定を保存すれば、リソースの構成は完了です。

ユーザーの追加

最後にAPIアクセス用のユーザーを追加し、認証トークンを控えておきます。

ユーザーは「設定」→「ユーザー」画面から追加可能です。

f:id:sugimomoto:20190722153518p:plain

クロスオリジンリソースシェアリング (CORS)

Ajaxなどのアプリケーションから複数の異なるドメインへのアクセス・接続を行う場合、クロスサイトスクリプティングの制限に抵触する可能性があります。

その場合は、「設定」→「サーバー」タブ内の「クロスオリジンリソースシェアリング (CORS)」の設定を行います。

項目
クロスオリジンリソースシェアリング (CORS)を有効化する ON
すべてのドメインを '*' なしで許可 ON
Access-Control-Allow-Methods: GET,PUT,POST,OPTIONS
Access-Control-Allow-Headers: authorization

f:id:sugimomoto:20190722153524p:plain

設定したら「Save Changes」ボタンをクリックして保存します。

ダッシュボードの作成

それでは実際に可視化を行っていきます。「Reveal」ではダッシュボードという単位でいくつかのグラフを配置して、構成していきます。

Revealにログインし、「新規」→「ダッシュボード」をクリックします。

f:id:sugimomoto:20190722153530p:plain

データソースから「ODataフィード」を選択し

f:id:sugimomoto:20190722153537p:plain

API ServerのAPIエンドポイントURLを指定し、資格情報を入力します。

URLは「https://XXXXXXX/api.rsc/」といったように末尾が「api.rsc」で終わっているものを入力します。

f:id:sugimomoto:20190722153545p:plain

資格情報は「汎用資格情報」を選択し、

f:id:sugimomoto:20190722153551p:plain

あらかじめ作成しておいたAPI Serverのユーザー名と認証トークンをそれぞれ指定します。

f:id:sugimomoto:20190722153558p:plain

認証完了後、エンティティセットを選択する画面に移動するので、取得したい任意のエンティティセットを選択します。

f:id:sugimomoto:20190722153605p:plain

これでダッシュボードを作成する準備が整いました。あとはRevealの機能を使って、SalesforceAPI Serverから取得したデータを可視化・分析することができます。

f:id:sugimomoto:20190722153613p:plain

以下のようなグラフを作成することができました。

f:id:sugimomoto:20190722153620p:plain

おわりに

今回は Salesforce のデータを取得してみましたが、CData API Server では Salesforce 以外にもおよそ150種類ほどの 接続先を提供しています。

https://www.cdata.com/jp/apiserver/

ERPCRM・NoSQLやSNS等、様々なツールからAPI Server 経由でデータが取得できるので、是非 Revealと組み合わせて様々なデータの可視化に役立ててみてもらえればと思います。