CData Software Blog

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

CData JDBC Driver を使って Adaptive Insights に Dynamics 365(CRM)のデータをロードする

本記事ではAdaptive Insights に Dynamics 365 Customer Engagement の案件(Opportunity)データをロードする方法を紹介します。

Adaptive Insights とは?

Adaptive Insights は、クラウドベースの財務計画および財務分析用アプリケーションです。

f:id:sugimomoto:20190603160515p:plain

目的

Adaptive Insights はデフォルトで Dynamics GP や Salesforce、Netsuite といったサービスからデータをロードする機能が提供されています。

そこに、JDBC コネクタ経由でCDataが提供しているJDBC Driverを組み合わせることで、PCA商魂・商管 DX、PCA 会計 DXといった国産ERP や Dynamics CRM・AX・NAV・365などからデータをロードし、Adaptive Insights 上で分析することが可能になります。

本記事では Microsoft が提供するCRMサービスである Dynamics 365 for Customer Engagement(CRM)からAdaptive Insights に営業案件データ(Opportunity)をロードする方法を紹介します。

本記事のシナリオ

今回は前述の通り、Dynamics 365 Customer Engagement から営業案件データをAdaptive Insights にロードしますが、通常Adaptive Insights はDynamics 365 Customer Engagement(CRM) をデータソースとして扱うことはできません。

それはAdaptive Insights がどのように Dynamics 365 API側へリクエストを投げるべきかの判断材料やメタデータの情報が無いためです。

f:id:sugimomoto:20190603160526p:plain

そこで、CData JDBC Dynamics 365 Driverを用いて、このボトルネックを解決します。

まず、Adaptive Insights からはJDBCインタフェースでSQL(Select文)をCData Dynamics 365 JDBC Driverに向けて発行してもらいます。そのリクエストを受け取った、CData Dynamics 365 JDBC Driverは、Dynamics 365 の Web API のエンドポイントに対して、SQL文を解釈し、HTTPリクエスト形式に変換して発行します。

リクエスト後、JSONフォーマットで返ってきたデータセットはCData Dynamics 365 JDBC DriverがJDBCのレコードに変換して Adaptive Insights に返します。

f:id:sugimomoto:20190610125725p:plain

その後、Adaptive Insights は標準機能で取得したデータの分析を実施できます。

必要なもの

・CData Dynamics JDBC Driver(https://www.cdata.com/jp/drivers/dynamicscrm/jdbc/

・Adaptive Insight(https://www.adaptiveinsights.jp/

・Adaptive Insight データエージェントサービスマネージャ(下記手順でダウンロードできます)

Adaptive Insight データエージェントサービスマネージャのシステム要件は以下のURLで確認できます。

https://knowledge-ja-jp.adaptiveplanning.com/Integration/Managing_Data_Integration/Adaptive_Integration/Using_Adaptive_Data_Agents/Adaptive_Integration_Data_Agent_Technical_Requirements

CData Dynamics CRM JDBC Driverのインストール

以下のサイトから評価版ビルドをダウンロードします。

ダウンロードされたインストーラ形式(.exe)のファイルを起動します。 (注)JDBCデータアドミニストレーターを閉じてから実行してください。 (注)途中オンラインでのアクティベーションが実行されるためインターネットアクセス出来る環境で行ってください。

下記のようなインストーラが起動するので、ライセンス契約書を確認した上で、デフォルト設定のままインストールを進めて完了させます。

f:id:sugimomoto:20190603160542p:plain

Adaptive Insights にログイン

次にデータ連携の構成を行うため Adaptive Insights にログインします。

以下のURLからログインできます。

https://login.adaptiveinsights.com/app

f:id:sugimomoto:20190603160547p:plain

統合データデザイナでJDBC エージェントの設定

それでは、まずJDBC接続を行うためのエージェント設定を実施します。

基本的なデータ統合の設定は、統合データデザイナの画面から行います。

「統合」→「データデザイナー」をクリックし

f:id:sugimomoto:20190603160554p:plain

右ナビゲーションメニューから「データエージェント」→「新しいデータエージェントの作成」をクリック

f:id:sugimomoto:20190603160600p:plain

任意の名称を記入し、「作成」をクリックします。

f:id:sugimomoto:20190603160605p:plain

Adaptive データ エージェント サービス マネージャのインストール

作成が完了したら、対象のデータエージェントに紐づく、「データ エージェント サービス マネージャ」をローカルマシンにインストールします。

Webインストーラかオフラインインストーラをダウンロードしてください。

f:id:sugimomoto:20190603160611p:plain

ダウンロード後、インストーラーを立ち上げて、セットアップ処理を実施します。

Adaptive データ エージェント サービス マネージャの設定

セットアップ完了後、スタートメニューから「Adaptive Data Agenet Manager」を立ち上げます。

f:id:sugimomoto:20190603160617p:plain

最初に、Adaptive Insights にログインするEmail Address と Passwordを入力し「Provision a New Agent」をクリックします。これで対象のAdaptive Insights テナントとの接続が確立されます。

f:id:sugimomoto:20190603160622p:plain

次に、CData JDBC Dynamics CRM Driverと接続するために、jarファイルをAdaptive Insights に登録します。

対象のファイルは以下のフォルダにインストールされています。 C:\Program Files\CData\CData JDBC Driver for Dynamics CRM 2019J\lib

f:id:sugimomoto:20190603160628p:plain

「cdata.jdbc.dynamicscrm.jar」と「cdata.jdbc.dynamicscrm.lic」の2つのファイルを、Adaptive Data Agentの以下のフォルダに配置します。これによりPluginとして CData JDBC Driverが利用可能となります。

C:\Program Files\Adaptive Data Agent\plugins

f:id:sugimomoto:20190603160633p:plain

最後に配置したjarファイルを認識させるために Adaptive Data Agent Service Manager の画面を開いて「Reflesh」をクリックします。

f:id:sugimomoto:20190603160638p:plain

これで、Adaptive Data Agent Service Manager の設定は完了です。

Adaptive Insights 統合データデザイナで Dynamics CRM JDBC に接続

それでは、Adaptive Insightsの画面でDynamics CRMのデータを統合する設定を行っていきます。

統合データデザイナの画面から「データソース」→「新しいデータソースの作成」をクリックし

f:id:sugimomoto:20190603160644p:plain

一覧から「JDBC データソース」を選択、任意の名称を入力し、「作成」をクリックします。

f:id:sugimomoto:20190603160649p:plain

次にエージェントの選択画面が立ち上がるので、事前に作成しておいたエージェントを選択して適用します。

f:id:sugimomoto:20190603160654p:plain

データソースの画面では、CData Dynamics CRM JDBC Driverに接続するためのプロパティを入力します。必要となるのは「ドライバークラス」と「URL」です。

f:id:sugimomoto:20190603160700p:plain

ドライバークラスには「cdata.jdbc.dynamicscrm.DynamicsCRMProvider」を入力し、URL(接続文字列)には以下のように接続先となるDynamics CRMの情報を入力します。

Dynamics CRM の接続情報 設定項目
組織URL(例えばhttps://test.crm7.dynamics.com URL
ログインユーザー名(例:XXX@XXX.onmicrosoft.com) User
ログインユーザーパスワード Password
CRMのバージョン(例:クラウド版に接続する場合はCRM Online) CRM Version

http://cdn.cdata.com/help/RME/jp/jdbc/pg_connectionj.htm

入力後、「接続テスト」ボタンをクリックして、接続ができるかどうかの確認が取れます。

Dynamics CRM の構造(Metadata)をインポート

Adaptive Insightsのデータ統合では、まずどのようにデータをインポートするか決めるために、構造(Metadata)をインポートします。

アクションの一覧から「構造のインポート」をクリックすると

f:id:sugimomoto:20190603160706p:plain

以下のような確認ダイアログが表示され、構造のインポートを進めることができます。

f:id:sugimomoto:20190603160712p:plain

インポートを開始すると、CData JDBC Driver経由で Dynamics 365 for Customer Engagementに存在するエンティティ構造が取得されていきます。

f:id:sugimomoto:20190603160717p:plain

取得が完了すると、以下のようにテーブルの一覧を表示できるようになります。ここから取り込む対象のデータを決定していきます。

f:id:sugimomoto:20190603160723p:plain

# 取得データの決定とインポート

それでは、実際にデータを取得する構成をしていきます。

データコンポーネントに表示されているテーブルの一覧から「営業案件:Opportunity」をドラッグ・アンド・ドロップで、インポートするテーブルの画面に移動させます。

f:id:sugimomoto:20190603160728p:plain

次に、カラムも同じように移動させることで、以下のように取り込む対象のデータ構造を決定します。

なお、上限フィルターでSQL フィルターを入力するころで取得対象のデータを絞り込むことが可能です。

f:id:sugimomoto:20190603160737p:plain

最後に「データをインポート」をクリックすることで、取り込み対象として構成したデータをAdaptive Insightsにロードすることができます。

f:id:sugimomoto:20190603160744p:plain

以下のようにデータのインポートが完了すればOKです。

f:id:sugimomoto:20190603160750p:plain

あとは、Adaptive Insightsの機能を使って、分析・プランニングへ繋げることができます。

おわりに

いかがでしたしょうか。今回はDynamics 365 for Customer Engagement のデータをAdaptive Insightsに取り込みましたが、これ以外にもCData JDBC Driverのラインナップを駆使することで、PCA商魂・商管 DX、PCA 会計 DXといった国産ERP や Dynamics CRM・AX・NAVといったサービスからデータをロードすることが可能となります。

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

是非様々なサービスと組み合わせて、Adaptive Insightsを活用してみてください。

参考

Adaptive Insights JDBCデータベースのデータ ソースの設定

https://knowledge-ja-jp.adaptiveplanning.com/Integration/Managing_Data_Integration/Adaptive_Integration/Setting_Up_Data_Sources/03Setting_Up_a_JDBC_Database_Data_Source