各製品の資料を入手。
詳細はこちら →CData
こんにちは!ドライバー周りのヘルプドキュメントを担当している古川です。
CData ODBC Driver for DB2 を使って、DB2 のデータをドラッグアンドドロップ スタイルのCognos Report Studio に連携できます。この記事では、データビジュアライゼーションをSQL を書かずに作成するグラフィカルアプローチと、DB2 がサポートする任意のSQL クエリを実行する方法の両方について説明します。
CData ODBC ドライバは、以下のような特徴を持った製品です。
CData ODBC ドライバでは、1.データソースとしてDB2 の接続を設定、2.Cognos BI 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。
まずは、本記事右側のサイドバーからDB2 ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。
下記の手順に従って、[Cognos Administration]ツールのライブ DB2 に接続を確立します。この接続はCognos BI 全体で使えます。このドライバーを使って、すべてのユーザーは一貫したデータおよびメタデータ:リアルタイムDB2 を利用できます。
接続プロパティの指定がまだの場合は、ODBC DSN (データソース名)で行います。Microsoft ODBC データソースアドミニストレーターを使ってODBC DSN を作成および設定できます。
64ビット版のマシンからCognos を実行している場合は、32ビット版ODBC データソースアドミニストレーターを起動する必要があります。以下のコマンドで開くことができます:
C:\Windows\sysWOW64\odbcad32.exe
DB2 への接続には以下を入力します:
対応するDB2 のドライバーをインストールする必要があります。
Windows では、IBM Data Server Provider をインストールするだけで十分です。インストールがmachine.config への書き込みを行います。
Java では、IBM Data Server Driver JAR をアプリケーションのwww\WEB-INF\lib\ フォルダに配置する必要があります。
パスワード方式によるSSH接続時に必要なプロパティ一覧を以下に示します。
接続文字列形式では以下のようになります。
Server=10.0.1.2;Port=50000;User=admin;Password=admin;Database=testUseSSH=true;SSHAuthMode=Password;SSHPort=22;SSHServer=ssh-server;SSHUser=root;SSHPassword=sshpasswd;
公開鍵認証によるSSH接続時に必要なプロパティ一覧を以下に示します。
接続文字列形式では以下のようになります。
Server=10.0.1.2;Port=50000;User=admin;Password=admin;Database=test;UseSSH=true;SSHAuthMode=Public_Key;SSHClientCertType=PUBLIC_KEY_FILE;SSHPort=22;SSHServer=ssh-server;SSHUser=root;SSHClientCert=C:\Keys\key.pem;
Microsoft ODBC データソースアドミニストレーターで必要なプロパティを設定する方法は、ヘルプドキュメントの「はじめに」をご参照ください。
[Cognos Administration]を開いて新しいデータソースを追加します。[Data Source Connections]をクリックして[ODBC]オプションを選択したら、システムDSN とユーザーフレンドリーな名前を入力します。Click Retrieve Objects and choose the CData DB2 database object.
これで、[Source Explorer]からレポートオブジェクトにカラムをドラッグアンドドロップしてCognos Report Studio のDB2 のデータ にレポートを作成できます。以下では、最新データを表示するチャートを持つシンプルなレポートを作成する方法を説明します。
レポートをビルドすると、Cognos Report Studio はSQL クエリを生成して実行をドライバーに依存します。ドライバーはクエリをDB2 API へのリクエストに変換します。ドライバーはリアルタイムDB2 へのクエリの実行を基になるAPI に依存します。
[Source Explorer]からオブジェクトのdimentions にカラムをドラッグアンドドロップするだけで、Cognos レポートオブジェクトとしてDB2 のデータを使うことができます。チャートのSeries dimension のカラムは自動的にグループ化されます。
さらにCognos は、measure dimesion のロジカルなデフォルトアグリゲート関数をデータタイプに基づいて設定します。この例では、デフォルトをオーバーライドしています。[Data Items]タブの Freight カラムをクリックしてAggregate Function プロパティを Not Applicableに設定します。Rollup Aggregate Function プロパティは Automatic に設定する必要があります。
必要なクエリを把握している、あるいは生成されたクエリを調整したい場合は、query オブジェクトをSQL ステートメントに変換します。クエリがSQL に変換されると、UI コントロールはquery オブジェクトで利用できなくなります。下記の手順に従って、ユーザー定義のSQL でチャートを埋めます。
Cognos はユーザー定義クエリの実行をドライバーに依存します。ドライバーのSQL エンジンを使うと、キャッシュデータのコピーがないためクエリは常に最新の結果を返します。
自動生成されたクエリを編集したい場合は、Generated SQL プロパティにあるquery オブジェクトのボタンをクリックします。ダイアログが表示されたら、[Convert]をクリックします。
新たにSQL ステートメントを入力したい場合は、query オブジェクトと一緒にSQL オブジェクトをドロップします。
SQL プロパティのボタンをクリックし、ダイアログが表示されたらSQL クエリを入力します。この例では以下のクエリを使います:
SELECT Orders.Freight, Customers.ContactName FROM Customers INNER JOIN Orders ON Customers.CustomerId=Orders.CustomerId
query オブジェクトのプロパティを編集:Processing プロパティを[Limited Local]に設定します。この値はquery オブジェクトをSQL に変換するために必要です。
これで[Data Items]タブのオブジェクトとしてSQL クエリ結果にアクセスできるようになりました。下記の手順に従って、クエリ結果を使ってチャートを作成します;例えば、Orders テーブルからFreight を各OrderName へ。
Default Measure (Freight 値) のデフォルトのプロパティを編集します:[Aggregate Function]ボックスで "Not Applicable" オプションを選択します。
レポートを実行してクエリ結果を追加します。