Pentaho Report Designer でHarvest のデータを連携利用

Jerod Johnson
Jerod Johnson
Director, Technology Evangelism
Pentaho BI ツールでHarvest のデータをもとにしたレポートを公開。

CData JDBC Driver for Harvest のデータ を使えば、ダッシュボードやレポートからリアルタイムデータにアクセスできます。この記事では、Harvest のデータにJDBC データソースとして接続し、Pentaho でHarvest のデータをもとにしたレポートを公開する方法を説明します。

接続してレポートを作成

  1. インストールディレクトリのlib サブフォルダ内にあるドライバーのJAR ファイルを、Pentaho ディレクトリ内の\Report-Designer\lib\jdbc\ フォルダにコピーします。
  2. \Report-Designer\ フォルダ内のreport-designer.bat ファイルを実行してReport-Designer UI を開きます。
  3. Data -> Add Data Source -> Advanced -> JDBC(Custom)をクリックし、新しいHarvest 接続を作成して、ドライバーで新しいデータソースを作成します。 表示されるダイアログで、以下のように接続プロパティを設定します。

    • Custom Connection URL property:JDBC URL を入力します。JDBC URL はjdbc:api: で始まり、その後にセミコロン区切りで接続プロパティを指定します。

      まず、Profile 接続プロパティをディスク上のHarvest プロファイルの場所に設定します(例:C:\profiles\Harvest.apip)。次に、ProfileSettings 接続プロパティをHarvest の接続文字列に設定します(以下を参照)。

      Harvest API プロファイル設定

      Harvest に認証するには、トークン認証またはOAuth 標準のいずれかを使用できます。自分のデータに接続するにはBasic 認証を使用します。他のユーザーが自分のデータに接続できるようにするにはOAuth を使用します。

      トークン認証の使用

      トークン認証を使用するには、ProfileSettings 接続プロパティでAPIKey にHarvest パーソナルアクセストークンを設定します。APIKey に加えて、ProfileSettings でAccountId を設定して接続します。

      OAuth 認証の使用

      まず、Harvest でOAuth2 アプリケーションを登録します。アプリケーションはHarvest ID の「Developers」セクションから作成できます。

      以下の接続プロパティを設定すると、接続できるようになります。

      • ProfileSettings:ProfileSettings でAccountId を設定します。
      • AuthScheme:OAuth に設定します。
      • OAuthClientId:アプリ設定で指定したclient ID に設定します。
      • OAuthClientSecret:アプリ設定で指定したclient secret に設定します。
      • CallbackURL:アプリ設定で指定したRedirect URI に設定します。
      • InitiateOAuth:GETANDREFRESH に設定します。InitiateOAuth を使用して、ドライバーがOAuthAccessToken を取得および更新する方法を管理できます。

      組み込みの接続文字列デザイナー

      JDBC URL の構成については、Harvest JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルをダブルクリックするか、コマンドラインからJAR ファイルを実行します。

      java -jar cdata.jdbc.api.jar
      

      接続プロパティを入力し、接続文字列をクリップボードにコピーします。

      JDBC URL を設定する際、Max Rows 接続プロパティの設定も検討してください。これにより返される行数が制限されます。特にレポートやビジュアライゼーションを設計する際のパフォーマンス向上に役立ちます。

      一般的なJDBC URL は次のとおりです:

      jdbc:api:Profile=C:\profiles\Harvest.apip;ProfileSettings='APIKey=my_personal_key;AccountId=_your_account_id';
    • Custom Driver Class Name:cdata.jdbc.api.APIDriver を入力します。
    • User Name:認証に使用するユーザー名。
    • Password:認証に使用するパスワード。

レポートにHarvest のデータを追加

Harvest のデータをもとにレポートを作成する準備が整いました。

  1. レポートにHarvest のソースを追加します。Data -> Add Data Source -> JDBC をクリックしてデータソースを選択します。

  2. クエリを設定します。この記事では以下のクエリを使用します:

    SELECT Id, ClientName FROM Invoices WHERE State = 'open'
  3. レポートにチャートをドラッグし、ダブルクリックしてチャートを編集します。レポートを実行してチャートを表示します。このクエリの結果を使用して、Invoices テーブルのシンプルなチャートを作成できます。
  4. 最後に、レポートを実行してチャートを確認します。

はじめる準備はできましたか?

API Driver で Harvest のライブデータに接続

Harvest に接続 お問い合わせ