Harvest JDBC Driver を使用した OBIEE でのレポート作成
CData JDBC Driver for Harvest は、標準的なデータベースドライバーとして、Java ベースのレポーティングサーバーにHarvest のデータへのリアルタイムアクセスを統合できます。この記事では、Oracle Business Intelligence Enterprise Edition(OBIEE)にドライバーをデプロイし、変更がリアルタイムに反映されるHarvest のデータのレポートを作成する方法を説明します。
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.api.jar;%PRE_CLASSPATH%
すべてのサーバーを再起動します(例:DOMAIN_HOME\bitools\bin の stop コマンドと start コマンドを実行)。
Harvest 用 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.api.APIDriver を入力します。
- Connection String:JDBC URL を入力します。
まず、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';
- Username:ユーザー名を入力します。
- Password:パスワードを入力します。
- Security セクションで、許可するユーザーロールを選択します。
リアルタイム Harvest レポートの作成
これで、リアルタイムHarvest のデータに基づいたレポートや分析を作成できます。以下の手順で、標準のレポートウィザードを使用して、Harvest のデータの変更がリアルタイムに反映されるインタラクティブなレポートを作成します。
- グローバルヘッダーで、New -> Data Model をクリックします。
- Diagram タブで、メニューから SQL query を選択します。
- クエリの名前を入力し、Data Source メニューで作成した Harvest JDBC データソースを選択します。
- standard SQL を選択し、以下のようなクエリを入力します:
SELECT Id, ClientName FROM Invoices WHERE State = 'open'
- View Data をクリックして、レポート作成に使用するサンプルデータを生成します。
- サンプルデータに含める行数を選択し、View をクリックしてから、Save As Sample Data をクリックします。
- Create Report -> Use Data Model をクリックします。
- Guide Me を選択し、Select Layout ページで含めるレポートオブジェクトを選択します。この例では Chart と Table を選択します。
- ClientName のような数値カラムを Y 軸の Drop Value Here ボックスにドロップします。Id のようなディメンションカラムを X 軸の Drop Label Here ボックスにドロップします。
- Refresh をクリックすると、Harvest のデータの変更が反映されます。