Pentaho Report Designer でMicrosoft Dataverse のデータを連携利用
CData JDBC Driver for Microsoft Dataverse のデータ を使えば、ダッシュボードやレポートからリアルタイムデータにアクセスできます。この記事では、Microsoft Dataverse のデータにJDBC データソースとして接続し、Pentaho でMicrosoft Dataverse のデータをもとにしたレポートを公開する方法を説明します。
Microsoft Dataverse データ連携について
CData は、Microsoft Dataverse(旧 Common Data Service)のライブデータにアクセスし、統合するための最も簡単な方法を提供します。お客様は CData の接続機能を以下の目的で使用しています:
- Dataverse エンティティと Dataverse システムテーブルの両方にアクセスし、必要なデータを正確に扱うことができます。
- Azure Active Directory、Azure マネージド サービス ID 認証情報、クライアントシークレットまたは証明書を使用した Azure サービスプリンシパルなど、さまざまな方法で Microsoft Dataverse に安全に認証できます。
- SQL ストアドプロシージャを使用して、Microsoft Dataverse エンティティを管理できます。エンティティ間の関連付けの一覧表示、作成、削除などが可能です。
CData のお客様は、データをデータウェアハウスにレプリケートしたい場合(他のデータソースと併せて)や、Microsoft エコシステム内のお気に入りのデータツール(Power BI、Excel など)または外部ツール(Tableau、Looker など)からライブ Dataverse データを分析したい場合など、さまざまな理由で当社の Dataverse 接続ソリューションを使用しています。
はじめに
接続してレポートを作成
- インストールディレクトリのlib サブフォルダ内にあるドライバーのJAR ファイルを、Pentaho ディレクトリ内の\Report-Designer\lib\jdbc\ フォルダにコピーします。
- \Report-Designer\ フォルダ内のreport-designer.bat ファイルを実行してReport-Designer UI を開きます。
Data -> Add Data Source -> Advanced -> JDBC(Custom)をクリックし、新しいMicrosoft Dataverse 接続を作成して、ドライバーで新しいデータソースを作成します。 表示されるダイアログで、以下のように接続プロパティを設定します。
Custom Connection URL property:JDBC URL を入力します。JDBC URL はjdbc:cds: で始まり、その後にセミコロン区切りで接続プロパティを指定します。
ユーザー資格情報の接続プロパティを設定せずに接続できます。接続に最小限必要な接続プロパティは、以下のとおりです。
- InitiateOAuth: GETANDREFRESH に設定します。
- OrganizationUrl: 接続先の組織のURL、例えばhttps://organization.crm.dynamics.com などに設定。
- Tenant (optional): デフォルトと異なるテナントに認証したい場合は、これを設定します。これは、デフォルトのテナントに所属していない組織と連携するために必要です。
接続すると、CData 製品はデフォルトブラウザでOAuth エンドポイントを開きます。ログインして、CData 製品にアクセス許可を与えます。CData 製品がOAuth プロセスを完了します。
組み込みの接続文字列デザイナー
JDBC URL の構成については、Microsoft Dataverse JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルをダブルクリックするか、コマンドラインからJAR ファイルを実行します。
java -jar cdata.jdbc.cds.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
JDBC URL を設定する際、Max Rows 接続プロパティの設定も検討してください。これにより返される行数が制限されます。特にレポートやビジュアライゼーションを設計する際のパフォーマンス向上に役立ちます。
一般的なJDBC URL は次のとおりです:
jdbc:cds:OrganizationUrl=https://myaccount.crm.dynamics.com/
- Custom Driver Class Name:cdata.jdbc.cds.CDSDriver を入力します。
- User Name:認証に使用するユーザー名。
- Password:認証に使用するパスワード。
レポートにMicrosoft Dataverse のデータを追加
Microsoft Dataverse のデータをもとにレポートを作成する準備が整いました。
-
レポートにMicrosoft Dataverse のソースを追加します。Data -> Add Data Source -> JDBC をクリックしてデータソースを選択します。
クエリを設定します。この記事では以下のクエリを使用します:
SELECT AccountId, Name FROM Accounts WHERE Name = 'MyAccount'
- レポートにチャートをドラッグし、ダブルクリックしてチャートを編集します。レポートを実行してチャートを表示します。このクエリの結果を使用して、Accounts テーブルのシンプルなチャートを作成できます。
- 最後に、レポートを実行してチャートを確認します。