本記事は、各種 Web API を ODBC / JDBC / ADO.NET といった標準のDB接続規格でアクセスできるようにするCData XML Driverを用いて、Power BI からeセールマナージャー の API に接続し、顧客ごとの売上見込レポートを作る方法を紹介します。
対象 サービス
eセールスマネージャー Remix クラウド はクラウドベースのCRM/SFA(営業支援システム)ですです。
https://www.e-sales.jp/
eセールスマネージャー API は SOAPプロトコルで現在以下のようなリソースへのアクセス(読み取り・作成・更新・削除)が提供されています。
- 社員
- 顧客
- 名刺
- 案件
- 業務タイプ
- 自社担当者
- 客先担当者
- 案件商品情報項目
- 代理店
- 案件タイプ
- 活動
- 活動内容/活動時間
- 商品情報項目
- 当日面談者
- 活動内容マスタ
- 進捗状況マスタ
- スケジュール
- TODO
- 商品
- 拡張シート
実現イメージ
今回はMicrosoftが提供するBIツールのPower BI からeセールスマネージャーのAPIに接続しますが、APIは単純にツールと接続することはできません。
各ツールがどのようにWeb API側へリクエストを投げるべきかの判断材料やメタデータの情報が無いためです。
そこで、CData XML ベースの各種 Driverを用いて、このボトルネックを解決します。
まず、各ツールからはODBCインタフェースでSQL(Select文)をCData XML ODBC Driverに向けて発行してもらいます。そのリクエストを受け取った、CData ODBC REST Driverは、eセールスマネージャー の WebAPI のエンドポイントに対して、SQL文を解釈し、HTTPリクエスト形式に変換して、Getメソッドを発行します。
リクエスト後、SOAP XMLフォーマットで返ってきたデータはCData XML ODBC DriverがODBCインタフェースのResultsetに変換してツールに返します。
これにより、各種ツールからアドホックにSQLによるリクエストがあったタイミングで最新のデータをeセールスマネージャー API から取得することが可能です。
各種接続シナリオと必要なツール
CData XML Driverは様々なツールとの接続に利用できますが、今回は Power BI で接続する方法を検証します。
SOAP XML データ処理用 RSDファイルの作成
まず、eセールスマネージャー の SOAP API を CData 各種 XML Deiver が SQL として解釈できるように設定ファイルを作成します。
サンプルとしてEセールスマネージャーの顧客・案件テーブルを取得するための設定ファイルを作成していますので、以下のURLから保存してください。
https://cdatajbuilds.s3-ap-northeast-1.amazonaws.com/SoftBrain/e%E3%82%BB%E3%83%BC%E3%83%AB%E3%82%B9%E3%83%9E%E3%83%8D%E3%83%BC%E3%82%B8%E3%83%A3%E3%83%BCRSB%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB.zip
保存先フォルダは後ほど使用するので「C:\CData_REST\eSalesManager」といった書き込み可能な任意のフォルダに配置してください。
CData REST Driverのインストール
各種ツールとEセールスマネージャー API を繋ぐために必要となるCData XML Driverをインストールします。
基本的なインストール・設定方法は各種Driver共通ですので、ここではODBC Driverを例に説明します。
まず、CData XML ODBC Driverの30日間の評価版をダウンロードします。ダウンロードの際には、Emailの登録が必要となります。
https://www.cdata.com/jp/drivers/xml/odbc/
ダウンロードしたsetup.exeファイルをBIツールがインストールされているマシンにインストールします。インストールウィザードに従い、EULAを確認した上でインストールを完了します。
※途中、ライセンスサーバーへのオンラインアクティベーションが行われるためネットワーク環境に接続されている必要があります。
インストールが完了すると、ODBCのDSN設定のウィンドウが立ち上がります。
以下の項目をセットし、保存します。
Otherにはそれぞれ事前に受け取ったOAtuhの設定とTenantIdなどを指定します。
また、今回の認証用URLはSandbox環境向けに設定していますので、本番環境へ接続する際は適宜変更してください。
- User=ログインユーザーID;
- Password=ログインユーザーパスワード;
- Location=C:\CData_REST\eSalesManager;
最後に接続テストをクリックして、成功メッセージが表示されればOKです。
以上で、CData REST Driverの準備は完了です。
Power BI から eセールスマネージャー API に接続
それでは、Power BI を用いて、eセールスマネージャーの顧客と案件データを取得し、案件状況を分析できるレポートを作成します。
まず、Power BIを立ち上げて「データを取得」をクリックします。
データ取得の中からODBCを選択し、接続をクリックすると
先程登録したODBC DSNの一覧を選択できる画面に移動します。
ここで先程接続情報を設定した「CData XML Source」を選択し「OK」をクリックします。
接続が完了すると、以下のようにテーブルを選択できるナビゲーター画面に移動するので、案件(Business)と顧客(Customer)のテーブルを選択し、「読み込み」をクリックします。
読み込みが完了すると以下のようにPower BIの中にSOAP経由で取得したeセールスマネージャーのデータが取り込まれます。
このままでもレポートの作成は可能ですが、今回は顧客データと案件データをつなぎ合わせて分析するため、PowerBIの画面でRelation設定を行います。
以下の画面に移動し、CustomerCode同士をドラッグ・アンド・ドロップで繋ぎます。
以上でデータの準備は完了です。あとはPowerBIの基本機能でレポートの作成を進められます。
例えば、顧客名(CustomerName)を軸に、受注(予定)金額(PurchaseScheduleAmount)を値として横棒グラフを作ることで、各顧客ごとの受注予定金額状況を可視化できます。
また、受注予定日(OrderPlannedDate)と受注(予定)金額(PurchaseScheduleAmount)を組み合わせることで、これからの受注予定金額のスケジュールを可視化することも可能です。
また、PowerBI のオンプレミスゲートウェイを使うことで、PowerBI Service上にレポートをパブリッシュ・メンバーで共有し、データを常に最新の情報に整えることも可能です。
終わりに
今回はVisual Studioからの接続を試しましたが、これ以外にもCData REST Driverは各種ETLツールや帳票ツールなどからも接続することが可能です。
例えば、ODBC Driverの場合は、AccessやExcelといったMicorosftアプリケーションやTableauといったBIツール
JDBCであれば、Javaアプリケーション作成時だけでなく、ASTERIA WarpやTalendといったETLツール
C#開発時にはADO.NET
Excelアドインとしてダイレクトにデータを操作することも可能です。
是非様々なツールから試してもらえればと思います。
免責事項
本記事は2019年6月時点における、正式ドライバー化前の検証結果を元に作成したものです。
本記事で記載されているAPI、ドライバーの機能、設定ファイルの動作を保証するためのものではありません。
この記事に関する問い合わせ・ご不明な点は CData Software Japanセールスデスク([email protected])までお問い合わせください
関連コンテンツ