Cognos BI でSalesforce データを使ってデータビジュアライゼーションを作成



CData ODBC Driver for Salesforce を使用すると、Cognos Report Studio のドラッグアンドドロップ操作でSalesforce データを統合できます。この記事ではSalesforce データを例に説明しますが、このチュートリアルに従えばCognos BI から任意のCData ODBC Driver に接続し、Cognos Report Studio でデータビジュアライゼーションを作成できます。この記事では、SQL を必要としないグラフィカルなアプローチでデータビジュアライゼーションを作成する方法と、Salesforce がサポートするSQL クエリを手動で編集する方法の両方を説明します。

データソースの設定と公開

以下の手順に従って、Cognos Administration ツールでSalesforce への接続を確立します。この接続はCognos BI 全体で使用できます。ドライバーを使用すると、すべてのユーザーが一貫したデータとメタデータ(ライブのSalesforce データ)を扱うことができます。

  1. Salesforce のODBC DSN をまだ作成していない場合は、Microsoft ODBC データソースアドミニストレーターツールで作成してください。詳しい手順についてはヘルプドキュメントの「はじめに」をご参照ください。

    64ビットマシンでCognos を実行している場合は、32ビット版のODBC データソースアドミニストレーターを開く必要があります。以下のコマンドで開くことができます:

    C:\Windows\sysWOW64\odbcad32.exe
  2. 表示されたDSN 設定ウィザードで、新しいシステムDSN を作成します。
  3. Cognos Administration を開き、新しいデータソースを追加します。Data Source Connections をクリックし、ODBC オプションを選択して、システムDSN とわかりやすい名前を入力します。Retrieve Objects をクリックし、Salesforce データベースオブジェクトを選択します。

レポートにデータビジュアライゼーションを追加

Source Explorer からテーブルのカラムをレポートオブジェクトにドラッグアンドドロップすることで、Cognos Report Studio でSalesforce データを使ったレポートを作成できるようになりました。以下のセクションでは、最新のデータを表示するチャートを含むシンプルなレポートの作成方法を説明します。

レポートを作成する際、Cognos Report Studio はSQL クエリを生成し、ドライバーがそれを実行します。ドライバーはクエリをSalesforce API へのリクエストに変換します。ライブのSalesforce データに対してクエリを実行するにあたり、ドライバーは基盤となるAPI の機能に依存します。

集計に基づくチャートの作成

Source Explorer からカラムをオブジェクトのディメンションにドラッグアンドドロップするだけで、Cognos のほぼすべてのレポートオブジェクトにSalesforce データを追加できます。チャートのSeries ディメンションのカラムは自動的にグループ化されます。

また、Cognos はデータ型に基づいてメジャーディメンションに論理的なデフォルトの集計関数を設定します。この例では、デフォルトを上書きするために、Data Items タブでId データ項目をクリックし、Aggregate Function プロパティをCOUNT に設定します。Rollup Aggregate Function プロパティはAutomatic に設定する必要があります。

クエリオブジェクトのSQL への変換

必要なクエリがわかっている場合、または生成されたクエリを調整したい場合は、クエリオブジェクトをSQL ステートメントに変換します。クエリをSQL に変換すると、そのクエリオブジェクトのUI コントロールは使用できなくなります。以下の手順に従って、ユーザー定義のSQL でチャートにデータを追加します。

Cognos はユーザー定義のクエリの実行をドライバーに依存します。ドライバーのSQL エンジンを使用することで、データのキャッシュコピーがないため、常に最新の結果を返すクエリが保証されます。

  1. Query Explorer にカーソルを合わせ、Queries フォルダをクリックして、レポート内のオブジェクトに対応するクエリを表示します。
  2. SQL オブジェクトをクエリオブジェクトと同じ行にドロップします。または、自動生成されたクエリを編集するには、Query プロパティでGenerated SQL プロパティのボタンをクリックし、表示されるダイアログでConvert をクリックします。
  3. SQL オブジェクトのプロパティを変更します:SQL プロパティでSalesforce データソースを選択し、SQL Syntax プロパティをNative に設定します。
  4. SQL プロパティのボタンをクリックし、表示されるダイアログにSQL クエリを入力します。この例では以下のクエリを使用します:
    SELECT Industry, SUM(AnnualRevenue) FROM Account GROUP BY Industry
  5. クエリオブジェクトのプロパティを変更します:Processing プロパティを「Limited Local」に設定します。この値は、クエリオブジェクトをSQL に変換するために必要です。

クエリ結果でチャートを作成

これで、Data Items タブでSQL クエリの結果にオブジェクトとしてアクセスできます。以下の手順に従って、結果を使用してチャートを作成します。例えば、業界ごとの年間収益を表示するチャートを作成します。

  1. Page Explorer にカーソルを合わせ、ページオブジェクトをクリックしてページに戻ります。
  2. ツールボックスから円グラフをワークスペースにドラッグします。
  3. チャートのプロパティで、Query プロパティに上記で作成したクエリの名前を設定します。
  4. Data Items タブをクリックし、カラムをx 軸とy 軸にドラッグします。この例では、Industry カラムをSeries(円グラフのスライス)ボックスに、AnnualRevenue カラムをDefault Measure ボックスにドラッグします。
  5. Default Measure(AnnualRevenue の値)のデフォルトプロパティを変更します:Aggregate Function ボックスで「Not Applicable」オプションを選択します。

レポートを実行して、クエリの結果を追加します: