watsonx.dataで安価なオブジェクトストレージに保存したデータをCognosからJDBC接続して分析してみた

以下の記事にてwatsonx.dataで安価なオブジェクトストレージにテーブル`icos1.hr.hr_training`を作成してデータを投入したので、そのデータをCognosからJDBC接続して分析してみた記事です。
- [watsonx.dataで安価なオブジェクトストレージにテーブルを作成し、SQL文でアクセスしてみた](https://qiita.com/mohkawa/items/f224f2b98e15d70b7cc1)

watsonx.dataはオープンなデータレイクハウス・アーキテクチャに基づいて構築されており、大容量のデータを安価に保存できるオブジェクトストレージにテーブルを作成したり、他のデータベースを統合することができ、それらのデータベースのデータをwatsonx.dataに組み込まれているオープンソースのPrestoエンジンを使って横断的にSQL文でアクセスできます。

## この記事の内容
- 以下の環境を作って試しました
  - [IBM Cloud Pak for Data](https://www.ibm.com/docs/en/cloud-paks/cp-data/4.7.x?topic=overview)(CP4D)上にwatsonx.dataとCognos Analytics with Watsonを導入
    - CP4D バージョン: 4.7.3
    - watsonx.data (SW版) バージョン: 1.0.3
    - Cognos Analytics with Watson バージョン: 24.3.0
- Cognos Analytics with Watson(Cognos)からwatsonx.dataのPrestoエンジンに接続するために、Presto JDBCドライバーをダウンロードし、Cognosに組み込み、watsonx.dataとの接続設定を行いました
- Cognosで分析するテーブルに関する構成を行いました
- Cognosにダッシュボードを作成し、データ分析するための構成を行い、データを分析してみました
  - Cognosにはさまざまなレイアウトのテンプレート、データをビジュアライゼーションするためのさまざまなパーツが用意されており、その一部を使ってデータを分析してみました

なお、Cognos側の設定は、他のJDBCドライバーでも共通の設定なので、そのような場合でも参考にしていただけると幸いです。

#### 手順の流れ

この手順は以下のようになる。
1. Presto JDBCドライバー・ファイルをダウンロードして動作確認してみる
1. CognosにJDBCドライバー・ファイルをインポートする
1. Cognosにwatsonx.dataとの接続設定を行う
1. Cognosに分析するテーブルが含まれるスキーマをインポートする
1. Cognosにコンテンツを追加する
1. Cognosのダッシュボードを作成してデータを分析する

## 1. Presto JDBCドライバー・ファイルをダウンロードして動作確認してみる

以下のサイトからPresto JDBCドライバーをダウンロードする。(ダウンロードしたファイル名: presto-jdbc-0.284.jar)
- https://prestodb.io/docs/current/installation/jdbc.html
  (JDBCクラス名: com.facebook.presto.jdbc.PrestoDriver)

上記のほかに、watsonx.dataのPrestoエンジンに接続するためには以下の情報が必要となる。
- ホスト名
- ポート番号
- ユーザーID
- パスワード

(*) 以下はwatsonx.dataのSW版の情報取得方法についてです。SaaS版については以下を参照してください。
[watsonx.data SaaS版のPrestoエンジンにアクセスするための事前情報取得](https://qiita.com/nishikyon/items/2687572b6ecce1e54bb5)

ホスト名とポート番号を得るために、watsonx.dataの`インフラストラクチャー・マネージャー`に表示されているPrestoエンジンをクリックする。

![watsonx_data_infra.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/ef87abc6-c0ae-f684-4c76-c661bf841e85.png)

以下のようにPrestoエンジンの情報が表示される。`External host`がホスト名で、watsonx.dataのSW版の`External host`のポート番号は443である。

![watsonx_data_presto_info.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/7198e5a3-67d5-3dd9-b98a-c5e135f7ca2d.png)

ユーザーIDとパスワードはCP4Dにログインしたものが使用可能で、今回はデフォルトで使用可能となっているadminを使用する。

| 項目 | 値 |
|:--|:--|
| ホスト名 | ibm-lh-lakehouse-presto-01-presto-svc-cpd-instance.mycluster-jp-tok-1-bx2-16-309ee4c04392c50ffd16fd0a4c2688e1-0000.jp-tok.containers.appdomain.cloud |
| ポート番号 | 443 |
| ユーザーID | admin |
| パスワード | xxx |
| JDBCドライバー・ファイル名 | presto-jdbc-0.284.jar |
| JDBCドライバー・クラス名 | com.facebook.presto.jdbc.PrestoDriver |

また、PrestoエンジンにTLS/SSLで接続する場合、プロパティとして`SSL=true`をセットする。

| プロパティ | 値 |
|:--|:--|
| SSL | true |

JavaのプログラムでJDBC接続を確認してみる。

```Java:PrestoAccessTest.java
import java.sql.*;
import java.util.Properties;

public class PrestoAccessTest {
    public static void main (String[] args)
    {
        String url = "jdbc:presto://ibm-lh-lakehouse-presto-01-presto-svc-cpd-instance.mycluster-jp-tok-1-bx2-16-309ee4c04392c50ffd16fd0a4c2688e1-0000.jp-tok.containers.appdomain.cloud:443";
        Properties properties = new Properties();
        properties.put("user", "admin");
        properties.put("password", "xxx");
        properties.put("SSL", "true");
        Connection con = null;
        try {
            Class.forName("com.facebook.presto.jdbc.PrestoDriver").getDeclaredConstructor().newInstance();
        } catch (Exception e) {
            System.out.println("Error: failed to load PrestoDriver.");
            System.exit(1);
        }
        try {
            con = DriverManager.getConnection(url, properties);
            String sql = "SELECT distinct year, organization, department FROM icos1.hr.hr_training limit 3";
            System.out.println(sql);
            PreparedStatement ps = con.prepareStatement(sql);
            ResultSet rs = ps.executeQuery();
            while(rs.next())
            {
                int year = rs.getInt(1);
                String org = rs.getString(2);
                String dept = rs.getString(3);
                System.out.println(year + ", " + org + ", " + dept);
            }
            con.close();
        } catch (Exception e) {
            e.printStackTrace();
            System.exit(1);
        }
        System.exit(0);
    }
}
```

`CLASSPATH`環境変数をセットし、コンパイルしてから実行してみる。

```shell
$ export CLASSPATH=.:./presto-jdbc-0.284.jar:$CLASSPATH
$ javac PrestoAccessTest.java
$ java -cp $CLASSPATH PrestoAccessTest
SELECT distinct year, organization, department FROM icos1.hr.hr_training limit 3
2014, GO Americas corporate, Human Resources
2014, GO Americas corporate, Finance
2014, GO Americas corporate, Marketing
```

SELECT文の結果が返ってきており、問題なく動作している。

## 2. CognosにJDBCドライバー・ファイルをインポートする

以下のガイドを参照した。
- [Cognos Analytics API を使用した成果物の管理](https://www.ibm.com/docs/ja/cloud-paks/cp-data/4.6.x?topic=resources-cognos-analytics-artifacts-apis)

実行するのに必要な変数を環境変数にセットする。
`CPDURL`はCognosが起動しているホスト名で、`NAMESPACE`はCP4Dを導入する際にセットした`PROJECT_CPD_INST_OPERANDS`環境変数の値である。
`USERID`と`PASSWORD`はCognosにアクセス可能なもので、今回はCP4D導入時にデフォルトでアクセス可能となっている`admin`ユーザーを使用している。

| 環境変数 | 値 |
|:--|:--|
| CPDURL | https://cpd-cpd-instance.mycluster-jp-tok-1-bx2-16-309ee4c04392c50ffd16fd0a4c2688e1-0000.jp-tok.containers.appdomain.cloud |
| NAMESPACE | cpd-instance |
| DRIVERSURL | \\${CPDURL}/cognosanalytics/\\${NAMESPACE}/artifacts/v1/drivers |
| CPDAUTHURL | \\${CPDURL}/icp4d-api/v1/authorize |
| USERID | admin |
| PASSWORD | xxx |

実行環境のシェルがbashでcurlコマンドと[jq](https://jqlang.github.io/jq/)コマンドが導入されている場合、以下を実行すると`BEARER`環境変数にBearer Tokenがセットされる。
```shell
CPDURL=https://cpd-cpd-instance.mycluster-jp-tok-1-bx2-16-309ee4c04392c50ffd16fd0a4c2688e1-0000.jp-tok.containers.appdomain.cloud
NAMESPACE=cpd-instance
DRIVERSURL=${CPDURL}/cognosanalytics/${NAMESPACE}/artifacts/v1/drivers
CPDAUTHURL=${CPDURL}/icp4d-api/v1/authorize
USERID=admin
PASSWORD=xxx
BEARER=$(curl -s -k -X POST -H 'Content-Type: application/json'  -d "{ \"username\":\"${USERID}\", \"password\":\"${PASSWORD}\" }" "$CPDAUTHURL" | jq -r '. | .token')
```

jqが導入されていない場合、上記で述べた環境変数をセットしたあと、以下を実行する。
```shell
$ curl -s -k -X POST -H 'Content-Type: application/json' -d "{ \"username\":\"${USERID}\", \"password\":\"${PASSWORD}\" }" "$CPDAUTHURL"
{"_messageCode_":"200","message":"Success","token":"eyJhbGciOiJSUzI1..."}
```

上記、"token"キーの値がBearer Tokenなので、この値を`BEARER`環境変数にセットする。
`BEARER`環境変数の値をセットしたら、最初に、登録されているJDBCドライバーのリストを取得してみる。
```shell
$ curl -k -X GET "${DRIVERSURL}" -H "Content-Type:application/json" -H "Authorization: Bearer $BEARER"     
[]
```

最初は何も登録されてないので空の配列`[]`が返ってくる。
次に、JDBCドライバー・ファイルを登録してみる。`presto-jdbc-0.284.jar`ファイルのあるディレクトリに移動し、以下のコマンドを実行する。
```shell
$ curl -k -X POST "${DRIVERSURL}" -H "Authorization: Bearer $BEARER" -F "files=@./presto-jdbc-0.284.jar"
```

結果として、登録に成功すると以下のようなJSONデータが返ってくる。
(見やすいようにjqコマンドで整形した)
```json
{
  "id": "41bd7e7671aab30b22ecac5e3be6eeb3636ca2f3676d41c44d5c8e99b1d44873",
  "driverFileNames": [
    {
      "filename": "presto-jdbc-0.284.jar",
      "fileid": "469a9489ea7e8588d1e08d6a56aa2a0022c41a905adc34e48d928b8cf4f2afb9"
    }
  ],
  "driverVersion": "",
  "targetDatabase": "",
  "createdAt": 1699974214
}
```

再度、登録されているJDBCドライバーのリストを取得してみる。
```shell
$ curl -k -X GET "${DRIVERSURL}" -H "Content-Type:application/json" -H "Authorization: Bearer $BEARER"
```

結果として、以下のように配列の中に上記の登録情報がセットされて返ってくる。
(こちらも見やすいようにjqコマンドを使って整形した)
```json
[
  {
    "id": "41bd7e7671aab30b22ecac5e3be6eeb3636ca2f3676d41c44d5c8e99b1d44873",
    "driverFileNames": [
      {
        "filename": "presto-jdbc-0.284.jar",
        "fileid": "469a9489ea7e8588d1e08d6a56aa2a0022c41a905adc34e48d928b8cf4f2afb9"
      }
    ],
    "driverVersion": "",
    "targetDatabase": "",
    "createdAt": 1699974214
  }
]
```

最後に、JDBCドライバーの登録を反映させるためにCognosを再起動する。
以下を実行する。

```shell
oc project ${NAMESPACE}
ARTIFACTS_POD=$(oc get pods | grep artifacts | awk '{print $1}')
CA_INSTANCE=$(echo $ARTIFACTS_POD | awk -F '-' '{print $1}')
oc delete pod $(oc get pod | grep $CA_INSTANCE | grep ca-cpd-rest | awk '{print $1}')
oc delete pod $(oc get pod | grep $CA_INSTANCE | grep ca-cpd-reporting | awk '{print $1}')
oc delete pod $(oc get pod | grep $CA_INSTANCE | grep ca-cpd-smarts | awk '{print $1}')
```

上記のコマンドを実行したら、CP4Dの`インスタンス`画面で、Cognosが起動するのを待つ。
(Cognosの状況が他のものと同じアイコンになったらOK)

![cp4d_instance_list.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/1db9cdbe-905e-2e82-b394-169dc816da58.png)

## 3. Cognosにwatsonx.dataとの接続設定を行う

Cognos Analytics with Watsonのホーム画面の左上メニューから、`管理` > `データ・サーバー接続 - 接続の作成と管理`を選択する。

![cognos_home.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/c2bf5505-bd0c-5a62-671f-129b4286229a.png)

右側にある`データ・サーバーの作成`ボタンをクリックする。

![cognos_ds_conn_list.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/d0867192-5866-9775-7a4f-59f066abc87b.png)

以下の値を入力して、`次へ`をクリックする。

| 項目 | 値 |
|:--|:--|
| 名前 | watsonx_data (任意の名前) |
| 接続タイプ | Presto |

![cognos_ds_creation1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/8e9a34ef-f20e-58c9-5dd6-b17d45871c09.png)

次に、以下の値を入力する。(JDBC URLのホスト名は実際の値に合わせる)

| 項目 | 値 |
|:--|:--|
| JDBC URL | jdbc:presto://ibm-lh-lakehouse-presto-01-presto-svc-cpd-instance.mycluster-jp-tok-1-bx2-16-309ee4c04392c50ffd16fd0a4c2688e1-0000.jp-tok.containers.appdomain.cloud:443 |
| ドライバー・クラス名 | com.facebook.presto.jdbc.PrestoDriver (io.prestosql.jdbc.PrestoDriverにセットされているので変更する) |
| 接続プロパティ | SSL=true |
| 分離レベル | デフォルトのままで良い(変えても良い) |
| 認証 | サインオンを使用する |

![cognos_ds_creation2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/14441981-2889-b32a-9389-c607ad9aa130.png)

今回、認証は毎回入力するのが面倒なので`サインオンを使用する`を選択した。その場合、その下にある`サインオンの追加`をクリックして、ユーザーIDとパスワードをセットし、最後に`完了`をクリックする。

![cognos_ds_creation3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/9d691b52-3d68-0c41-3928-6afa64b1a148.png)

画面下部にある`接続のテスト`ボタンをクリックして、テスト接続してみる。
接続が成功すると、以下のように`テスト接続は成功しました`が表示される。
接続が成功したら、`次へ`をクリックする。

![cognos_ds_creation4_test.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/e87ef0c0-18cd-fd38-3f15-3bb66658fd28.png)

以下の設定はデフォルトのままにして、`作成する`をクリックする。

![cognos_ds_creation5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/642127fa-d777-439d-1f5e-9ac9bbd2b15f.png)

結果として、データ・サーバー設定が登録され、以下のようにリストされる。

![cognos_ds_conn_list2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/48fdd6b9-c454-602c-fb11-d86939b8deef.png)

## 4. Cognosに分析するテーブルが含まれるスキーマをインポートする

`データ・サーバー接続`画面にリストされた`watsonx_data`をクリックする。
以下の画面に遷移するので、次に、右側のメニューを表示させ`アセット`をクリックする。

![cognos_watsonx_data_asset.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/a92f2fb7-e99e-e36f-38d2-dd17650a8550.png)

検索フィールドに`icos`と入力すると以下の2つの`資産`がリストされる。
今回、`icos1/hr`スキーマにある`hr_training`テーブルのデータを分析するので、`icos1/hr`の右側にある`ロード`をクリックする。

![cognos_watsonx_data_asset2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/f998ba07-c15e-c565-fd78-6951ba46c676.png)

`ステータス`が`ロード終了`になったら`完了`をクリックする。

![cognos_watsonx_data_loaded.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/eb27f4a9-b120-5336-7317-d308e6d864a1.png)

## 5. Cognosにコンテンツを追加する

左上メニューから`コンテンツ`を選択する。
次に、`個人用コンテンツ`タブを選択し、右上の`新規`メニューから`データ・モジュール`をクリックする。

![cognos_contents_list.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/8c9c3257-3274-7688-ca04-9330e6c62b28.png)

`ソースの選択`の左メニューから ![cognos_ds_icon.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/7620193a-30b3-0d7a-675a-1c4dd90e5609.png) をクリックすると、`watsonx_data`がリストされるので、それをクリックする。

![cognos_contents_source.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/f0a67d9e-dd24-937a-cdb6-0eb29a1f74c2.png)

リストされている`icos1/hr`を選択し、`OK`ボタンをクリックする。

![cognos_ds_source_selection.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/a036e5b5-0995-e886-a0ca-7b37985d6d62.png)

左のリストから`hr_training`を選択し、画面上部左の ![cognos_disk.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/30ce8bbf-73ad-278b-d868-47a8814c62e5.png) (保存)をクリックする。

![cognos_ds_source_selection2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/4e722df1-8db3-2981-7244-1726ce70b543.png)

`名前`に`hr_training`を入力し、`個人用コンテンツ`タブを選択し、`保存`をクリックする。

![cognos_ds_source_save.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/f3034166-6248-b6dd-ae5b-698e51059746.png)

## 6. Cognosのダッシュボードを作成してデータを分析する

以下のURLを参照した。
- [Cognos Analytics - ダッシュボードの作成](https://www.ibm.com/docs/ja/cognos-analytics/12.0.0?topic=tutorial-creating-dashboard)

左上のメニューから`+ 新規` > `ダッシュボード`をクリックする。

![cognos_dashboard_menu.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/48c065f9-a623-1389-3a40-ee6297f49d85.png)

4等分されたペインを選択し`作成`をクリックする。

![cognos_dashboard_4pane.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/0dc7b0b0-26ef-3548-23fb-ac5e4ee2800e.png)

`ソースの選択`をクリックする。

![cognos_dashboard.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/76eb40e5-9931-461a-a105-645aacf4ae1b.png)

`個人用コンテンツ`タブで`hr_training`を選択し、`追加`ボタンをクリックする。

![cognos_dashboard_src_selection.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/18c395aa-0842-02db-ffb5-4dd06a6899f2.png)

結果として、以下のような画面になる。

![cognos_dashboard2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/29eb6db1-53a0-414c-3a4b-53ca06d9c762.png)

`department`を左上のペインにドラッグし、

<img width="500" alt="cognos_dashboard_dept_drag.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/9c661251-abd0-fea1-cc66-0125ecdc70df.png">

ペインに表示される正方形の上にドロップする。

<img width="250" alt="cognos_dashboard_dept_drop.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/f2b4e7dd-d5d7-ef11-8262-388f8c23d53a.png">

結果として以下のようになる。

![cognos_dashboard3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/ccf739c0-48dc-7b76-5f50-9a27b49ad519.png)

`externalhires`をドラッグして、`department`のリストのヘッダーあたりにドロップする。そうすると以下のようなグラフ表示に変わる。

![cognos_dashboard4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/b015c174-dc1b-6bbb-4c05-1f903a3193aa.png)

上記のグラフ領域の枠あたりのスペースをクリックすると、上部に以下のようなツールバーが表示される。

![cognos_dashboard_toolbar.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/57206dce-358b-183c-db5e-ae725e4edc36.png)

![cognos_change_visualization.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/84af5e6d-d51c-c416-f6fe-89af26f31a89.png) (視覚化の変更) アイコンをクリックして、表示形式を変えてみる。

![cognos_packed_bubble.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/3c5d1cf6-eff0-1178-dcf9-fa1dfb39bdfa.png) (パック・バブル) アイコンを選択してみる。
そうすると、グラフが以下のような画面に変わる。

![cognos_dashboard5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/14137c04-5b57-31a5-a865-7d5f47d2bd1d.png)

左側のメニューで、![cognos_change_visualization.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/84af5e6d-d51c-c416-f6fe-89af26f31a89.png) (視覚化) をクリックし、リストから`ツリー・マップ`をクリックする。

![cognos_tree_map.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/f0ad8570-cefe-dfb4-5aa5-5ef7b49d6749.png)

結果として、空の`ツリー・マップ`が空のデータ・フィールドに作成される。

![cognos_dashboard6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/dcc82422-6032-7ca3-bf7d-9fdf1fc969dc.png)

`選択されたソース`から`organization`を右側の上部にある`領域の階層`フィールドにドラッグ&ドロップする。
`coursecost`をその下にある`サイズ`フィールドにドラッグ&ドロップする。

![cognos_dashboard7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/ac5bad76-743d-0ebd-c7e2-fe28a89bdf9b.png)

凡例を非表示にして、ツリー・マップのスペースを広げてみる。
右上の`プロパティー`をクリックして表示されたプロパティー画面で、`凡例`を展開して、`凡例の表示`トグルを選択解除する。

![cognos_dashboard_property.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/4757ce12-f0e6-033c-379c-23a05ddc21ee.png)

`coursedays`をフィルターに追加してみる。
`選択されたソース`から`coursedays`を`このタブ`フィルター領域にドラッグ&ドロップする。
値の範囲を1から15として`完了`ボタンをクリックする。

![cognos_dashboard_filter.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/6034034c-0d00-d503-3c14-aba4ed62f5e9.png)

以下のような画面となる。

![cognos_dashboard8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/66174655-0c75-fbfe-4d56-3e53b9eb2589.png)

左ペインの`department`の`パック・バブル`で、`Finance`をクリックしてみる。
そうすると、右のペインの`organization`も、それぞれ`Finance`の情報のみになる。

![cognos_dashboard9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/df89e692-c1a4-d36c-7f8b-5bd2af2c000c.png)

`organization`と`department`の関係を見るために、watsonx.dataの`照会ワークスペース`(SQL)、または、[Presto CLI](https://prestodb.io/docs/current/installation/cli.html)で以下のSQL文を発行してみる。(以下は、Presto CLIを使用してやってみた結果を、一部省略して記載している)
以下のように、複数の`organization`があり、それぞれの`organization`が複数の`department`で構成されていることがわかる。

```
$ ./presto --server https://ibm-lh-lakehouse-presto-01-presto-svc-cpd-instance.mycluster-jp-tok-1-bx2-16-309ee4c04392c50ffd16fd0a4c2688e1-0000.jp-tok.containers.appdomain.cloud --user admin --password
Password: 
presto> select organization, count(*) from icos1.hr.hr_training group by organization order by organization;
         organization          | _col1 
-------------------------------+-------
 GO Accessories corporate      |   116 
 GO Accessories operations     |    52 
 GO Americas corporate         |   124 
 GO Americas operations        |    60 
 GO Asia Pacific corporate     |   116 
 GO Asia Pacific operations    |    60 
 GO Central Europe corporate   |   116 
 GO Central Europe operations  |    64 
 GO Northern Europe corporate  |   116 
 GO Northern Europe operations |    60 
 GO Southern Europe corporate  |   116 
 GO Southern Europe operations |    56 
(12 rows)

presto> select organization, department, count(*) from icos1.hr.hr_training group by organization,department order by organization,department;
         organization          |             department              | _col2 
-------------------------------+-------------------------------------+-------
 GO Accessories corporate      | Executive Offices                   |     4 
 GO Accessories corporate      | Finance                             |    36 
 GO Accessories corporate      | Human Resources                     |    16 
 ...
 GO Americas corporate         | Executive Offices                   |    12 
 GO Americas corporate         | Finance                             |    36 
 GO Americas corporate         | Human Resources                     |    16
 ...
```

Cognosで、画面上部左の ![cognos_disk.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/30ce8bbf-73ad-278b-d868-47a8814c62e5.png) (保存) をクリックしてダッシュボードを保存する。
適当な名前を付けて`個人用コンテンツ`タブを選択し、`保存`をクリックする。

![cognos_dashboard_save.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/83ea923c-3994-303a-6eea-923be3895fc9.png)

ホーム画面に戻って、左上メニューから`コンテンツ`を選択する。
さらに、`最初のダッシュボード`(ダッシュボードを保存した名前)を選択し、`詳細表示`から`開く`を選択する。

![cognos_contents2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/c650214a-f1c4-0fd6-f315-f95e530fb6d1.png)

そうすると、先ほど作成したダッシュボードが開き、データを分析することができる。

![cognos_dashboard10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507588/b323bd38-d23f-0fc6-58b1-ed08da52c0e7.png)