各製品の資料を入手。
詳細はこちら →Pentaho Report Designer にREST のデータに連携して分析
Pentaho BI ツールでREST のレポートを作成。
最終更新日:2022-03-16
この記事で実現できるREST 連携のシナリオ
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
CData JDBC Driver for REST はダッシュボードや帳票ツールからリアルタイムREST のデータへの連携を可能にします。この記事では、REST をJDBC データソースとして接続する方法と、Pentaho でREST を元に帳票を作成する方法を説明します。
接続と帳票の作成
- インストールディレクトリの[lib]サブフォルダ内のJAR ファイルをコピーし、Pentaho のディレクトリ内の\Report-Designer\lib\jdbc\ フォルダに配置します。
- \Report-Designer\ フォルダのreport-designer.bat ファイルを起動し、Report-Designer UI を開きます。
以下の手順でドライバーを新しいデータソースに設定します。[Data]>[Add Data Source]>[Advanced]>[JDBC (Custom)]とクリックし、新しいREST 接続を作成します。ダイアログが表示されたら、次のように接続プロパティを設定します。
Custom Connection URL property:JDBC URL を入力。初めに以下を入力し jdbc:rest: 次にセミコロン区切りで接続プロパティを入力します。
データソースへの認証については、データプロバイダーのヘルプドキュメントの「はじめに」を参照してください: データプロバイダーはREST API を双方向データベーステーブルとして、XML/JSON ファイル(ローカルファイル、一般的なクラウドサービスに保存されているファイル、FTP サーバー)を読み取り専用のビューとしてモデル化します。HTTP Basic、Digest、NTLM、OAuth、FTP などの主要な認証スキームがサポートされています。認証についての詳細は、ヘルプドキュメントの「はじめに」を参照してください。
URI を設定し、認証値を指定したら、Format を"XML" または"JSON" に設定して、データ表現をデータ構造により厳密に一致させるようにDataModel を設定します。
DataModel プロパティは、データをどのようにテーブルに表現するかを制御するプロパティで、以下の基本的な設定を切り替えます。
- Document (デフォルト):REST データのトップレベルのドキュメントビューをモデル化します。データプロバイダーはネストされたエレメントをデータの集計として返します。
- FlattenedDocuments:ネストされたドキュメントとその親を単一テーブルとして暗黙的に結合します。
- Relational:階層データから個々の関連テーブルを返します。テーブルには、親ドキュメントにリンクする主キーと外部キーが含まれます。
リレーショナル表現の構成について詳しくは、「REST データのモデル化」を参照してください。次の例で使用されているサンプルデータもあります。データには、人、所有している車、およびそれらの車で行われたさまざまなメンテナンスサービスのエントリが含まれています。The data includes entries for people, the cars they own, and various maintenance services performed on those cars.
以下は一般的なJDBC URL です:
jdbc:rest:DataModel=Relational;URI=C:/people.xml;Format=XML;
- Custom Driver Class Name:cdata.jdbc.rest.RESTDriver と入力。
- User Name:認証するユーザーネーム。
- Password:認証するパスワード。
レポートに REST のデータを追加
これで、REST の帳票を作成する準備が整いました。
-
帳票にREST のデータソースを追加します:[Data]>[Add Data Source]>[JDBC]をクリックし、データソースを選択します。
クエリを設定します。この記事では次を使います:
SELECT [people].[personal.age] AS age, [people].[personal.gender] AS gender, [people].[personal.name.first] AS first_name, [people].[personal.name.last] AS last_name, [vehicles].[model], FROM [people] JOIN [vehicles] ON [people].[_id] = [vehicles].[people_id]
- 帳票にチャートをドラッグし、ダブルクリックしてチャートを編集します。帳票を実行して、チャートを表示します。このクエリ結果を使って、people テーブルのシンプルなチャートを作成することができます。
- 帳票を実行して、チャートを見てみましょう。
