Pentaho Report Designer でCarbone のデータを連携利用
CData JDBC Driver for Carbone のデータ を使えば、ダッシュボードやレポートからリアルタイムデータにアクセスできます。この記事では、Carbone のデータにJDBC データソースとして接続し、Pentaho でCarbone のデータをもとにしたレポートを公開する方法を説明します。
接続してレポートを作成
- インストールディレクトリのlib サブフォルダ内にあるドライバーのJAR ファイルを、Pentaho ディレクトリ内の\Report-Designer\lib\jdbc\ フォルダにコピーします。
- \Report-Designer\ フォルダ内のreport-designer.bat ファイルを実行してReport-Designer UI を開きます。
Data -> Add Data Source -> Advanced -> JDBC(Custom)をクリックし、新しいCarbone 接続を作成して、ドライバーで新しいデータソースを作成します。 表示されるダイアログで、以下のように接続プロパティを設定します。
Custom Connection URL property:JDBC URL を入力します。JDBC URL はjdbc:api: で始まり、その後にセミコロン区切りで接続プロパティを指定します。
まず、Profile 接続プロパティをディスク上の Carbone プロファイルの場所に設定します(例:C:\profiles\Carbone.apip)。次に、ProfileSettings 接続プロパティを Carbone の接続文字列に設定します(以下を参照)。
Carbone API プロファイル設定
Carbone では、Authorization ヘッダーの Bearer トークンによる API キー認証を使用します。API キーは以下の手順で取得できます。
- https://account.carbone.io で Carbone アカウントにログインします。
- アカウントのホームページに表示されている API キーをコピーします。
API キーを取得したら、以下の接続プロパティを設定します。
- AuthScheme:APIKey に設定します。
- APIKey:Carbone の API キー(Bearer トークン)に設定します。
- CarboneVersion:(オプション)carbone-version リクエストヘッダーで指定する、対象の Carbone API のメジャーバージョンです。デフォルトは 5 です。指定できる値は 5、4、3、staging です。
組み込みの接続文字列デザイナー
JDBC URL の構成については、Carbone JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルをダブルクリックするか、コマンドラインからJAR ファイルを実行します。
java -jar cdata.jdbc.api.jar接続プロパティを入力し、接続文字列をクリップボードにコピーします。
JDBC URL を設定する際、Max Rows 接続プロパティの設定も検討してください。これにより返される行数が制限されます。特にレポートやビジュアライゼーションを設計する際のパフォーマンス向上に役立ちます。
一般的なJDBC URL は次のとおりです:
jdbc:api:Profile=C:\profiles\Carbone.apip;AuthScheme=APIKey;APIKey=your_api_key;- Custom Driver Class Name:cdata.jdbc.api.APIDriver を入力します。
- User Name:認証に使用するユーザー名。
- Password:認証に使用するパスワード。
レポートにCarbone のデータを追加
Carbone のデータをもとにレポートを作成する準備が整いました。
-
レポートにCarbone のソースを追加します。Data -> Add Data Source -> JDBC をクリックしてデータソースを選択します。
クエリを設定します。この記事では以下のクエリを使用します:
SELECT Id, Name FROM Templates WHERE Category = 'Invoices'
- レポートにチャートをドラッグし、ダブルクリックしてチャートを編集します。レポートを実行してチャートを表示します。このクエリの結果を使用して、Templates テーブルのシンプルなチャートを作成できます。
- 最後に、レポートを実行してチャートを確認します。