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

Cognos Business Intelligence のODBC データソースとしてOkta にアクセスし、Cognos Report Studio でデータビジュアライゼーションを作成。

古川えりか
コンテンツスペシャリスト

最終更新日:2022-07-18

この記事で実現できるOkta 連携のシナリオ

こんにちは!ドライバー周りのヘルプドキュメントを担当している古川です。



CData ODBC Driver for Okta を使って、Okta のデータをドラッグアンドドロップ スタイルのCognos Report Studio に連携できます。この記事では、データビジュアライゼーションをSQL を書かずに作成するグラフィカルアプローチと、Okta がサポートする任意のSQL クエリを実行する方法の両方について説明します。

CData ODBC ドライバとは?

CData ODBC ドライバは、以下のような特徴を持った製品です。

  1. Okta をはじめとする、CRM、MA、会計ツールなど多様なカテゴリの270種類以上のSaaS / オンプレデータソースに対応
  2. 多様なアプリケーション、ツールにOkta のデータを連携
  3. ノーコードでの手軽な接続設定
  4. 標準SQL での柔軟なデータ読み込み・書き込み

CData ODBC ドライバでは、1.データソースとしてOkta の接続を設定、2.Cognos BI 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。

CData ODBC ドライバのインストールとOkta への接続設定

まずは、本記事右側のサイドバーからOkta ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。

下記の手順に従って、[Cognos Administration]ツールのライブ Okta に接続を確立します。この接続はCognos BI 全体で使えます。このドライバーを使って、すべてのユーザーは一貫したデータおよびメタデータ:リアルタイムOkta を利用できます。

  1. 接続プロパティの指定がまだの場合は、ODBC DSN (データソース名)で行います。Microsoft ODBC データソースアドミニストレーターを使ってODBC DSN を作成および設定できます。

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

    C:\Windows\sysWOW64\odbcad32.exe

    Okta に接続するには、Domain 接続文字列プロパティをお使いのOkta ドメインに設定します。

    Okta への認証にはOAuth を使用するため、カスタムOAuth アプリケーションを作成する必要があります。

    カスタムOAuth アプリケーションの作成

    Okta アカウントから:

    1. 管理者アカウントでOkta のデベロッパーエディションにサインインします。
    2. Admin Consoleで、Applications > Applications に移動します。
    3. Create App Integration をクリックします。
    4. Sign-in method は、OIDC - OpenID Connect を選択します。
    5. Application type は、Web Application を選択します。
    6. カスタムアプリケーションの名前を入力します。
    7. Grant TypeをAuthorization Code に設定します。トークンを自動的に更新したい場合は、Refresh Token もチェックしてください。
    8. コールバックURL を設定します。
      • デスクトップアプリケーションやヘッドレスマシンでは、http://localhost:33333 または任意の別のポート番号を使用します。ここで設定したURI が、CallbackURL プロパティになります。
      • Web アプリケーションの場合、コールバックURL を信頼できるリダイレクトURL に設定します。このURL は、アプリケーションへのアクセスが許可されたことを示すトークンを伴ってユーザーが戻ってくるWeb 上の場所です。
    9. Assignments セクションで、Limit access to selected groups を選択してグループを追加するか、グループの割り当ては一旦スキップします。
    10. OAuth アプリケーションを保存します。
    11. アプリケーションのGeneral タブに、アプリケーションのClient Id とClient Secret が表示されます。後で使用できるように、これらを記録してください。Client Id はOAuthClientId の設定に使用し、Client Secret はOAuthClientSecret の設定に使用します。
    12. Assignments タブを確認し、アプリケーションにアクセスする必要のあるすべてのユーザーがアプリケーションに割り当てられていることを確かめます。
    13. Okta API Scopes タブで、OAuth アプリケーションに付与するスコープを選択します。これらのスコープは、アプリが読み取り可能なデータを決定します。そのため、特定のビューに対するスコープを付与しないと、そのビューに対するクエリを実行する権限がドライバーに付与されません。各ビューに必要なスコープを確認するには、ヘルプドキュメントのデータモデル > ビュー のビュー固有のページを参照してください。

    Microsoft ODBC データソースアドミニストレーターで必要なプロパティを設定する方法は、ヘルプドキュメントの「はじめに」をご参照ください。

  2. [Cognos Administration]を開いて新しいデータソースを追加します。[Data Source Connections]をクリックして[ODBC]オプションを選択したら、システムDSN とユーザーフレンドリーな名前を入力します。Click Retrieve Objects and choose the CData Okta database object.

    The DSN used to add the data source. (Salesforce is shown.)

Data Visualizations をレポートに追加

これで、[Source Explorer]からレポートオブジェクトにカラムをドラッグアンドドロップしてCognos Report Studio のOkta のデータ にレポートを作成できます。以下では、最新データを表示するチャートを持つシンプルなレポートを作成する方法を説明します。

レポートをビルドすると、Cognos Report Studio はSQL クエリを生成して実行をドライバーに依存します。ドライバーはクエリをOkta API へのリクエストに変換します。ドライバーはリアルタイムOkta へのクエリの実行を基になるAPI に依存します。

アグリゲートに基づきチャートを作成

[Source Explorer]からオブジェクトのdimentions にカラムをドラッグアンドドロップするだけで、Cognos レポートオブジェクトとしてOkta のデータを使うことができます。チャートのSeries dimension のカラムは自動的にグループ化されます。

さらにCognos は、measure dimesion のロジカルなデフォルトアグリゲート関数をデータタイプに基づいて設定します。この例では、デフォルトをオーバーライドしています。[Data Items]タブの ProfileFirstName カラムをクリックしてAggregate Function プロパティを Not Applicableに設定します。Rollup Aggregate Function プロパティは Automatic に設定する必要があります。

Okta columns used in a pie chart. (Salesforce is shown.)

Query オブジェクトをSQL に変換

必要なクエリを把握している、あるいは生成されたクエリを調整したい場合は、query オブジェクトをSQL ステートメントに変換します。クエリがSQL に変換されると、UI コントロールはquery オブジェクトで利用できなくなります。下記の手順に従って、ユーザー定義のSQL でチャートを埋めます。

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

  1. [Query Explorer]の上にカーソルを置き、[Queries]フォルダをクリックしてレポートにquery オブジェクトを表示します。
  2. 自動生成されたクエリを編集したい場合は、Generated SQL プロパティにあるquery オブジェクトのボタンをクリックします。ダイアログが表示されたら、[Convert]をクリックします。

    新たにSQL ステートメントを入力したい場合は、query オブジェクトと一緒にSQL オブジェクトをドロップします。

  3. SQL オブジェクトのプロパティを編集:SQL プロパティでOkta のデータソースを選択してSQL Syntax プロパティをNative に設定します。
  4. SQL プロパティのボタンをクリックし、ダイアログが表示されたらSQL クエリを入力します。この例では以下のクエリを使います:

    SELECT Id, ProfileFirstName FROM Users WHERE Status = 'Active'
  5. query オブジェクトのプロパティを編集:Processing プロパティを[Limited Local]に設定します。この値はquery オブジェクトをSQL に変換するために必要です。

    A query object created from an SQL statement.

クエリ結果をチャートで使用

これで[Data Items]タブのオブジェクトとしてSQL クエリ結果にアクセスできるようになりました。下記の手順に従って、クエリ結果を使ってチャートを作成します;例えば、Users テーブルからProfileFirstName を各Id へ。

  1. [Page Explorer] 上にカーソルを置きpage オブジェクトをクリックしてページに戻ります。
  2. 円グラフをツールボックスからワークスペース上にドラッグします。
  3. チャートのプロパティで、Query プロパティに先ほど作成したクエリの名前を設定します。
  4. [Data Items]タブをクリックしてカラムをx およびy 軸上にドラッグします。この例ではId カラムをSeries (pie slices) ボックスに、ProfileFirstName カラムをDefault Measure ボックスにドラッグします。
  5. Default Measure (ProfileFirstName 値) のデフォルトのプロパティを編集します:[Aggregate Function]ボックスで "Not Applicable" オプションを選択します。

A pie chart populated with the result of executing the SQL query. (Salesforce is shown.)

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

The rendered report. (Salesforce is shown.)

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。