Cognos Framework Manager で仮想データを生成する

##概要
ちょっとしたデータが欲しいのだけど、実際のデータベース上にテーブルを作って、データを入れて、というのが面倒くさく、Framework Managerの中でデータ作れたらいいのに、という時の、簡単なやり方です。
![014.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/f7c3646a-b16f-df2d-30ba-a04c39c480d1.png)

##手順
データソース定義(DB2)以外、何も無い状態から始めます。
![001.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/0598c030-fa3b-25af-c64c-e2cb8b2cb3de.png)

Database Viewで、ネームスペースを右クリック→「作成」→「クエリー・サブジェクト」を選択します。
![002.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/71394cad-c4ee-b69d-92dd-a0b4964b17cb.png)

名前を適当に入力して、「データ・ソース」を指定しＯＫを選択します。
![003.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/b3860e82-d2ff-999d-f875-3b157b9c7d23.png)

ここでチェックを外し、そのまま「終了」します。
![004.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/09f564d6-27ec-0422-32a5-70903a638af8.png)

自由にSQLを書けるので、以下のように記載します。

```html
WITH Numbers (n)              
  AS (SELECT CAST(1 AS INTEGER) 
        FROM sysibm.sysdummy1 
      UNION ALL               
      SELECT n + 1            
        FROM Numbers          
       WHERE n < 10)         
SELECT n                      
  FROM Numbers
```

![005.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/e7de0803-d933-e72c-0075-e875d469aecf.png)

※ちなみに、Oracleの場合は、以下のSQLでできます。

```html
select level from DUAL connect by level <= 10
```

「クエリー情報」タブに移動し、「オプション」から「SQL設定」で、SQLタイプに「通過」を指定します。
![006.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/ecac2445-1fed-b176-e95e-e9229b30efda.png)

「テスト」タブで「テスト・サンプル」を実行すると、以下のように1～10の数字が生成されます。OK。
![007.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/30206aeb-9579-6c24-3964-944de32a9f65.png)

次に、再度ネームスペースを右クリック→「作成」→「クエリー・サブジェクト」します。
![008.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/53b4f1a8-d9e5-92bd-3b3c-0c00c272aa6b.png)

適当に名前をつけて、「モデル」を選択しOK。
![009.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/7b39e2eb-2ae1-38d8-9fa3-28c35844f90d.png)

先ほど作成した「n」をクエリー・アイテムとして持って行き、「追加」を選択します。
![010.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/4cad36cc-f389-31c7-0410-17c270a665f4.png)

以下の様に新規クエリー・アイテムの定義を記載し「テスト」を行うと、人物名のデータが生成されます。

```html
case
when [DB2SAMPLE].[CREDATA].[n]  = '1' then 'ICHIRO'
when [DB2SAMPLE].[CREDATA].[n]  = '2' then 'JIRO'
when [DB2SAMPLE].[CREDATA].[n]  = '3' then 'SABURO'
when [DB2SAMPLE].[CREDATA].[n]  = '4' then 'SHIRO'
when [DB2SAMPLE].[CREDATA].[n]  = '5' then 'GORO'
when [DB2SAMPLE].[CREDATA].[n]  = '6' then 'ROKURO'
when [DB2SAMPLE].[CREDATA].[n]  = '7' then 'SHICHIRO'
when [DB2SAMPLE].[CREDATA].[n]  = '8' then 'HACHIRO'
when [DB2SAMPLE].[CREDATA].[n]  = '9' then 'KYURO'
when [DB2SAMPLE].[CREDATA].[n]  = '10' then 'JURO'
end
```

![011.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/9353c96e-9beb-de46-a2ad-835c9abcebeb.png)

同様に、SALARYのデータも生成してみました。
![012.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/587ec2c1-24b6-40df-b6fd-329912057732.png)

こんな感じに、3つのデータアイテムが並んでいます。
![013.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/6d8cd69a-4ed3-8af6-31ad-e0f66308aac7.png)

「テスト」タブで、「テスト・サンプル」で見ると、以下の通りです。弟の方が稼いでいます。
![014.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/17fec926-3b03-e9e1-8f2c-ed4abfe0e97c.png)

あとは作成されたクエリーアイテムのプロパティから、使用方法を調整しておきましょう。
![015.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/d1a34c6c-c1d1-fc6b-54ab-df80c185b7a4.png)

以上です。
ちょっとした時に使えるので、是非ご活用下さい。