Dynamics 365 JDBC Driver を使用した OBIEE でのレポート作成
CData JDBC Driver for Dynamics 365 は、標準的なデータベースドライバーとして、Java ベースのレポーティングサーバーにDynamics 365 のデータへのリアルタイムアクセスを統合できます。この記事では、Oracle Business Intelligence Enterprise Edition(OBIEE)にドライバーをデプロイし、変更がリアルタイムに反映されるDynamics 365 のデータのレポートを作成する方法を説明します。
Dynamics 365 データ連携について
CData は、Microsoft Dynamics 365 のライブデータへのアクセスと統合を簡素化します。お客様は CData の接続機能を以下の目的で活用しています:
- Sales、Customer Service、Finance & Operations、Marketing など、Dynamics 365 エコシステム全体のデータの読み取りと書き込みができます。
- カスタマイズ可能なキャッシュと、インテリジェントなクエリ集約・分離により、Dynamics CRM のネイティブ機能を拡張できます。
- Azure Active Directory、Azure マネージド サービス ID 認証情報、クライアントシークレットまたは証明書を使用した Azure サービスプリンシパルなど、さまざまな方法で Dynamics 365 に安全に認証できます。
- SQL ストアドプロシージャを使用して、Dynamics 365 エンティティを管理できます。エンティティ間の関連付けの一覧表示、作成、削除などが可能です。
CData のお客様は、データをデータウェアハウスにレプリケートしたい場合(他のデータソースと併せて)や、Microsoft エコシステム内のお気に入りのデータツール(Power BI、Excel など)または外部ツール(Tableau、Looker など)からライブ Dynamics 365 データを分析したい場合など、さまざまな理由で当社の Dynamics 365 接続ソリューションを使用しています。
はじめに
JDBC Driver のデプロイ
以下の手順で、JDBC Driver を WebLogic のクラスパスに追加します。
WebLogic 12.2.1 の場合、ドライバーの JAR ファイルと .lic ファイルを DOMAIN_HOME\lib に配置するだけで完了です(例:ORACLE_HOME\user_projects\domains\MY_DOMAIN\lib)。これらのファイルは起動時にサーバーのクラスパスに追加されます。
手動でクラスパスにドライバーを追加することもできます(以前のバージョンでは必須)。setDomainEnv.cmd(Windows)または setDomainEnv.sh(Unix)の PRE_CLASSPATH の先頭に以下を追加します。このスクリプトは、そのドメインのフォルダ内の bin サブフォルダにあります(例:ORACLE_HOME\user_projects\domains\MY_DOMAIN\bin)。
set PRE_CLASSPATH=your-installation-directory\lib\cdata.jdbc.dynamics365.jar;%PRE_CLASSPATH%
すべてのサーバーを再起動します(例:DOMAIN_HOME\bitools\bin の stop コマンドと start コマンドを実行)。
Dynamics 365 用 JDBC データソースの作成
JDBC Driver をデプロイしたら、BI Publisher から JDBC データソースを作成できます。
- BI Publisher にログインします(URL は例えば http://localhost:9502/analytics)。Administration -> Manage BI Publisher をクリックします。
- JDBC Connection -> Add Data Source をクリックします。
- 以下の情報を入力します:
- Data Source Name:ユーザーがレポートで接続を作成する際に使用する名前を入力します。
- Driver Type:Other を選択します。
- Database DriverClass:ドライバークラス cdata.jdbc.dynamics365.Dynamics365Driver を入力します。
- Connection String:JDBC URL を入力します。
Dynamics 365 接続プロパティの取得・設定方法
Microsoft Dynamics 365 への接続
Microsoft Dynamics 365 ドライバーは、以下のMicrosoft Dynamics 365 エディションへの接続をサポートしています。
- CustomerService
- FieldService
- FinOpsOnline (デフォルト)
- FinOpsOnPremise
- HumanResources
- Marketing
- ProjectOperations
- Sales
Notes:
- Supply Chain Management はFinance and Operations と同一です。これらのいずれかに接続するには、Edition をFinOpsOnline またはFinOpsOnPremise のいずれかに設定します。
- Microsoft Dynamics 365 Business Central については、個別のMicrosoft Dynamics 365 Business Central ドライバーを使用してください。
- OrganizationURL:お使いのMicrosoft Dynamics 365 組織のURL。例えば、https://orgcb42e1d0.crm.dynamics.com。
- Edition:上記のエディション一覧に示すとおり。
Microsoft Dynamics 365 への認証
Microsoft Dynamics 365 は、Microsoft Entra ID(Azure AD)、Azure サービスプリンシパル、Azure マネージドID(MSI)を経由する認証をサポートします。これらはすべてOAuth 規格に基づきます。 認証方法の詳細は、ヘルプドキュメントを参照してください。
組み込みの接続文字列デザイナー
JDBC URL の構築には、Dynamics 365 JDBC Driver に組み込まれた接続文字列デザイナーを使用できます。JAR ファイルをダブルクリックするか、コマンドラインから JAR ファイルを実行します。
java -jar cdata.jdbc.dynamics365.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
JDBC URL を構成する際、Max Rows 接続プロパティの設定も検討してください。これにより返される行数が制限され、レポートやビジュアライゼーションの設計時のパフォーマンス向上に特に役立ちます。
一般的な JDBC URL は以下のとおりです:
jdbc:dynamics365:OrganizationUrl=https://myaccount.operations.dynamics.com/;Edition=Sales;
- Username:ユーザー名を入力します。
- Password:パスワードを入力します。
- Security セクションで、許可するユーザーロールを選択します。
リアルタイム Dynamics 365 レポートの作成
これで、リアルタイムDynamics 365 のデータに基づいたレポートや分析を作成できます。以下の手順で、標準のレポートウィザードを使用して、Dynamics 365 のデータの変更がリアルタイムに反映されるインタラクティブなレポートを作成します。
- グローバルヘッダーで、New -> Data Model をクリックします。
- Diagram タブで、メニューから SQL query を選択します。
- クエリの名前を入力し、Data Source メニューで作成した Dynamics 365 JDBC データソースを選択します。
- standard SQL を選択し、以下のようなクエリを入力します:
SELECT GoalHeadingId, Name FROM GoalHeadings WHERE Name = 'MyAccount'
- View Data をクリックして、レポート作成に使用するサンプルデータを生成します。
- サンプルデータに含める行数を選択し、View をクリックしてから、Save As Sample Data をクリックします。
- Create Report -> Use Data Model をクリックします。
- Guide Me を選択し、Select Layout ページで含めるレポートオブジェクトを選択します。この例では Chart と Table を選択します。
- Name のような数値カラムを Y 軸の Drop Value Here ボックスにドロップします。GoalHeadingId のようなディメンションカラムを X 軸の Drop Label Here ボックスにドロップします。
- Refresh をクリックすると、Dynamics 365 のデータの変更が反映されます。