この記事ではデータ可視化ソリューション「Reveal」から「Salesforce」に接続し、顧客データを可視化する方法を紹介します。
Reveal とは?
Reveal とは インフラジスティックス 社が提供するデータ可視化ソリューションです。
さまざまなデバイスに 対応するBIサービスを手軽に自社サービス・アプリに組み込むことができるコンポーネントサービスです。
revealbi.io
kageura.hatenadiary.jp
接続手順
Reveal は 様々なデータソースへの接続を効率よく行うため、OData エンドポイントのデータソースをサポートしています。
しかしながら、各種API は OData で公開されていることがあまり多くありません。そこで CData API ServerのODataエンドポイントの機能を活用して、各APIをODataに変換し、Revealからシームレスに接続できるようにします。
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への接続を構成します。
「設定」→「接続」→「+接続の追加」をクリックし
「Salesforce」を選択します。
Salesforceへ接続するために、以下の情報を入力し、「変更を保存」をクリックします。
項目 |
値 |
User |
ログインするユーザーアカウントを指定します。 |
Password |
ログインするユーザーアカウントのパスワードを指定します。 |
Security Token |
Salesforceから取得したAPI接続用のトークンを指定します。 |
リソースの定義(CData API Server)
次にSalesforceから取得したいリソースを定義します。
「設定」→「リソース」→「リソースを追加」をクリックし
先程追加した接続先を選択
取得したいテーブルを選択し、次へをクリックします。
「リソースの編集」はデフォルトのままでOKです。これで設定を保存すれば、リソースの構成は完了です。
ユーザーの追加
最後にAPIアクセス用のユーザーを追加し、認証トークンを控えておきます。
ユーザーは「設定」→「ユーザー」画面から追加可能です。
クロスオリジンリソースシェアリング (CORS)
Ajaxなどのアプリケーションから複数の異なるドメインへのアクセス・接続を行う場合、クロスサイトスクリプティングの制限に抵触する可能性があります。
その場合は、「設定」→「サーバー」タブ内の「クロスオリジンリソースシェアリング (CORS)」の設定を行います。
項目 |
値 |
クロスオリジンリソースシェアリング (CORS)を有効化する |
ON |
すべてのドメインを '*' なしで許可 |
ON |
Access-Control-Allow-Methods: |
GET,PUT,POST,OPTIONS |
Access-Control-Allow-Headers: |
authorization |
設定したら「Save Changes」ボタンをクリックして保存します。
ダッシュボードの作成
それでは実際に可視化を行っていきます。「Reveal」ではダッシュボードという単位でいくつかのグラフを配置して、構成していきます。
Revealにログインし、「新規」→「ダッシュボード」をクリックします。
データソースから「ODataフィード」を選択し
API ServerのAPIエンドポイントURLを指定し、資格情報を入力します。
URLは「https://XXXXXXX/api.rsc/」といったように末尾が「api.rsc」で終わっているものを入力します。
資格情報は「汎用資格情報」を選択し、
あらかじめ作成しておいたAPI Serverのユーザー名と認証トークンをそれぞれ指定します。
認証完了後、エンティティセットを選択する画面に移動するので、取得したい任意のエンティティセットを選択します。
これでダッシュボードを作成する準備が整いました。あとはRevealの機能を使って、Salesforce・API Serverから取得したデータを可視化・分析することができます。
以下のようなグラフを作成することができました。
おわりに
今回は Salesforce のデータを取得してみましたが、CData API Server では Salesforce 以外にもおよそ150種類ほどの 接続先を提供しています。
https://www.cdata.com/jp/apiserver/
ERP・CRM・NoSQLやSNS等、様々なツールからAPI Server 経由でデータが取得できるので、是非 Revealと組み合わせて様々なデータの可視化に役立ててみてもらえればと思います。
関連コンテンツ