Oracle Analytics Cloud：簡易的なモデリングツールとしてのマルチ・テーブル・データセット

# はじめに
Oracle Databaseのサンプルスキーマである、SHに含まれる「SALES」「CHANNELS」「PRODUCTS」「TIMES」を使用して、Oracle Analytics Cloud（**OAC**）のマルチ・テーブル・データセット機能を紹介します。

+ マルチ・テーブル・データセットの利点
 + 簡易なモデリングツールとして利用できる
 + 事前に結合等を設定しておくことができる
 + 事前に簡単な式の入力、名前の変更、データタイプの変更などが可能
 + 複数のワークブックやユーザで利用できる

# マルチ・テーブル・データセットの作成
### 最初の表をデータセットとして取り込みます
OACにログインしてデータセットを作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/16bb253b-6d67-8568-81da-dcb8744d08ae.png)
Oracle Databaseに接続するための「接続」を選択します。
今回は、Autonomous Data Warehouseに接続するための定義を事前に作成してあったので、これを使うことにします。
参考：[Oracle Analytics Cloud：はじめてのビジュアライゼーション](https://qiita.com/tyo38/items/6dfcc2f1722b615c08a3)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/7c69d8ca-3efd-d828-de10-f57b65212dd5.png)
SHスキーマを展開し、「SALES」を右のエリアにドラッグ＆ドロップします（ダブルクリックでも可）。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/9f5aba93-13ce-e355-ca50-fa5fccd0485b.png)
取り込んだ「SALES」表の確認
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/6316c150-fd57-c6b6-c30d-0c93c1c6cb07.png)

### 他の表を取り込んで結合します
2番めの表として「CHANNELS」を既に取り込んだ「SALES」の上に重ねるようにドラッグ＆ドロップします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/32e9c141-a28a-e14d-e647-a55b124bac1d.png)
自動的に2つの表が結合されました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/c3340ead-0bbc-1cff-c37f-229b94a98eed.png)
自動結合がうまくできなかった場合は、あらためて「CHANNELS」を「SALES」の上にドラッグ＆ドロップしてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/d2730ad8-50e5-d116-d8dd-ae0b19122409.png)
同じ要領で、「PRODUCTS」と「TIMES」もドラッグ＆ドロップし、「SALES」と結合します。
画面下を確認すると、選択した順に表がタブとして表示されています。タブの順序はドラッグ＆ドロップで変更できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/f450a0de-8b33-36e6-e329-7eaf0c753272.png)

### 表の定義を編集します
SALESの定義を編集します。
「SALES」を右クリックし「グレインの保持」をクリックします。
もう一度「SALES」を右クリックし、「定義の編集」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/3a589cda-c437-dec2-65ab-3646cbf67595.png)
「PROMO_ID」列は分析に使用しないので、クリックしてから「選択項目の除去」で除外します。
表名を「販売」に変更し「OK」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/9b981658-d97d-aa8b-9515-213807c62fb3.png)
「CUST_ID」列をクリックして列全体が選択された状態にします。次に、「処理形式」の「属性」を表示された部分をクリックし「メジャー」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/8b81941d-f976-6bad-380b-81afbc42b5c1.png)
「集計」をデフォルトの「合計」から「平均」に変更します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/1bf3cbc4-4cde-b467-d2ed-66fffe469d23.png)
「PROD_ID」のオプションアイコンをクリックし、表示されるメニューから「非表示」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/099750d3-b86d-b5e9-a33b-9fc88cbe3f0b.png)
同様の手順で「CHANNEL_ID」と「TIME_ID」も非表示にします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/2585f68a-196b-1249-2af9-015c38bfe049.png)
列の名前を変更します。各列のオプションアイコンをクリックし「名前変更」を選択します。

| 元の名前 | 変更後の名前 |
|:-|:-|
| CUST_ID        | 顧客数    |
| QUANTITY_SOLD  | 販売数量  |
| AMOUNT_SOLD    | 販売金額  |

完成した状態
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/48008cf6-39fd-d387-03aa-6489770e1e80.png)
「結合ダイアグラム」タブに移動します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/76c3455f-1d20-c5a2-a5b5-95eabcc1ab5c.png)
「CHANNELS」を右クリックし「定義の編集」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/967acaf1-18c4-1b94-9318-4baee01b2a70.png)
不要な列である「CHANNEL_CLASS_ID」「CHANNEL_TOTAL」「CHANNEL_TOTAL_ID」をコントロールキーを押しながらまとめて選択し、「選択項目の除去」をクリックして除去します。
表名を「チャネル」に変更して「OK」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/b4487448-7d78-be76-0ae4-5761d2f96dd6.png)
列の名称を変更します。

| 元の名前 | 変更後の名前 |
|:-|:-|
| CHANNEL_DESC   | チャネル |
| CHANNEL_CLASS  | チャネルカテゴリ |

「CHANNEL_ID」は非表示にします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/48f4d5ad-3259-1a18-a5e6-902ca8ff84fc.png)
PRODUCTS表も同様に定義を編集します。
「PROD_ID」「PROD_NAME」「PROD_SUBCATEGORY」「PROD_CATEGORY」以外の列を除去し、表名を「製品」に変更して「OK」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/a34aceaa-e11c-76ba-1a7c-62262958d099.png)
「PROD_ID」列は非表示にし、他の列は名前を変更します。

| 元の名前 | 変更後の名前 |
|:-|:-|
| PROD_NAME        | 製品名    |
| PROD_SUBCATEGORY | 製品サブカテゴリ  |
| PROD_CATEGORY    | 製品カテゴリ  |

完成した状態
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/ad511216-1d05-0118-394d-b7bdd010795b.png)
最後にTIMES表も定義を編集します。
「CALENDAR_YEAR」「CALENDAR_QUARTER_DESC」「CALENDAR_MONTH_DESC」「TIME_ID」以外の列を除去し、表名を「カレンダー」にして「OK」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/639576c9-a3f1-c2bb-7c50-fa1da3f1a679.png)
列の名前を変更します。

| 元の名前 | 変更後の名前 |
|:-|:-|
| CALENDAR_YEAR         | 年    |
| CALENDAR_QUARTER_DESC | 四半期 |
| CALENDAR_MONTH_DESC   | 月 |
| TIME_ID               | 年月日  |

「年」は、処理形式をメジャーから属性に変更します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/4c168551-a961-f634-413c-51e401575dd4.png)
完成した状態
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/7f656011-2c74-c5b7-ee64-56183b02887f.png)
### データセットを保存します
「保存」アイコンをクリックして、名前を入力して「OK」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/63a7f217-f98e-19f3-9dfa-9ad7f87158fa.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/2a530785-2bfb-1133-53b0-a7318c0d0e2c.png)

# マルチ・テーブル・データセットの利用
新しくワークブックを作るには、画面右上の「ワークブックの作成」をクリックします。
または、「作成」ボタンが表示されている場合は、「作成」－「ワークブック」でも構いません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/2829cbe2-0f13-d2fd-d738-e37c46b72395.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/19b2f434-87d3-ddc3-5b3c-1d0c8e3b6c4d.png)
「作成」メニューからワークブック作成に進んだ場合は、データセットを選択する画面が出てくるので保存したデータセットをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/3f6bf502-78cc-bb66-f3fa-582e0e8083fe.png)
新規のワークブックが作成されます。
左ペインには、データセットに定義されたタブの順番でフォルダが表示され、展開すると列が表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/b3621637-7bc2-6000-4d77-2516bcf1f712.png)

# ビジュアライゼーションの作成
「カレンダー」フォルダの中の「年」と「販売」フォルダの中の「販売金額」をコントロールキーを押しながらまとめて選択し、そのまま右ペインにドラッグ＆ドロップします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/831b2a05-9601-fcca-dcf3-44aa5af37b02.png)
自動ビジュアライゼーション機能が働いて棒グラフが表示されました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/a8f8301d-06cc-f591-cb2c-e0d7e1100d4b.png)
棒グラフを「チャネルカテゴリ」ごとに表現したいので、「チャネル」フォルダの中の「チャネルカテゴリ」を「色」にドラッグ＆ドロップします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/56333f41-a185-0ec9-ad5a-91bbe4237f6c.png)
グラフ形式を変更します。
「棒」をクリックして、「積上げ棒」に変更します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/100b7f3f-b6a2-8074-1e8c-d775a6587762.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/a8a8c36b-892a-30e9-2e7e-340301ff799d.png)
次に棒の横幅を販売数量で表現します。
「販売」フォルダの中の「販売数量」を「サイズ (幅)」にドラッグ＆ドロップします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/3cac0fe6-e6c4-5047-7ab1-bec2385d8e3a.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/215fa761-500e-5a6c-426c-22b653284575.png)
最後に、「カテゴリ (X軸)」の「年」を「製品カテゴリ」に交換してみます。
「製品」フォルダの中の「製品カテゴリ」を「カテゴリ (X軸)」の「年」の上にドラッグ＆ドロップして交換します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/88cc745a-d421-0d5c-9863-56a471748540.png)
完成しました！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/0abe7598-2c3b-98e7-13eb-21a6a55ce092.png)

### 操作をやり直したいときは
画面右上の「最後の編集を元に戻す」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/79fc954c-2223-d245-106f-7f3b6f39dab4.png)

# マルチ・テーブル・データセットを他のユーザと共有する
画面左上の「ナビゲーション」アイコンをクリックすると、左にメニューが表示されるので、「データ」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/3fdf6872-1ea4-4170-214a-6e2da4dd0ff7.png)
「データセット」タブに、これまで保存したデータセットが表示されます。
作成したデータセットの「アクション・メニュー」アイコンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/82659642-2b6a-d0d5-5a97-47a98d6968cb.png)
「検査」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/5d574df7-4e25-93ef-407a-04e7ed65b40c.png)
「アクセス」、「ロール」とクリックします。「追加」テキストボックスに「DV C」と入力すると「DV Consumer」「DV Content Author」の2つのアプリケーションロールが表示されます。
今回は、「DV Content Author」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/1cdf4b78-39ea-da37-5d4d-ba87d142e1bb.png)
これで、DV Content Authorアプリケーションロールに所属するユーザも、このデータセットを使用することができるようになりました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/a0bfe371-4709-d848-5ee0-e952ed49c900.png)