Oracle Analytics Cloud：ひとつのデータセット内で複数のファイルを結合

# はじめに
Oracle Analytics Cloud（**OAC**）でセルフサービスBI機能を使用してデータを可視化するときには、最初にデータセットを定義するか、定義済みのデータセットを読み込むことになります。
データセットとは、対象となるデータソースの中から可視化に必要な部分を指定したものです。
データソースとは、データベースまたはファイル（CSVやExcelファイル）と考えて差し支えありません。
データベースからデータセットを作成する場合は、マルチ・テーブル・データセットという機能が従来からありました。

参考：[Oracle Analytics Cloud：簡易的なモデリングツールとしてのマルチ・テーブル・データセット](https://qiita.com/tyo38/items/5021c5f10fda056eb882)

2022年6月現在、ファイルから作成したデータセットでも、複数のファイルを結合することができるようになっています。

# 試してみること
- 2つのExcelファイルを用意します（Sales.xlsx, Products.xlsx）
- データセットをひとつ作成し、この2つのExcelファイルをアップロードして結合します
- さらに、データベースの表「CHANNELS」をSales.xlsx（のデータ）に結合します
- 作成したデータセットで可視化します

# データセットの作成
OACにログインし、「作成」ボタンをクリックし、「データセット」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/b13515a1-f89c-5ee9-9be3-f3e4ea3e3126.png)
「データセットの作成」ウィンドウの左上、「ここにデータ・ファイルをドロップするか、クリックして参照します」というエリアにExcelファイルをドラッグ＆ドロップします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/957ea3d7-53c5-f9d9-6a9c-fd081e9e46e8.png)
「OK」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/b7b15329-59f1-5e74-8d0b-f87855f68bdc.png)
Salesが読み込まれます。次に＋マークの「追加」アイコンをクリックして「ファイルの追加」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/49ff6b39-daa0-71f3-5ca5-3a92cf15950b.png)
Products.xlxsを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/bfc0b015-3a38-e11b-0065-76dc541aeef9.png)
2つのExcelファイル、Sales.xlsxとProducts.xlsxを単一のデータセット内に読み込むことができました。
（自動的にPROD_ID列で結合もできました）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/a29695d2-5436-50d1-fb15-2f68ffb4b2b6.png)
列名が違っていたり、データタイプが違っていたりすると自動的に結合されませんので、手動で設定します。データタイプの変更等も適宜実施してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/cbaf95a3-f72c-ecfd-43b5-6bba7e1a05ba.png)
もう一つ、データを追加します。
今度は、「接続の追加」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/c330778b-038c-1c41-0e1a-a6ecdfa4c39c.png)
事前に作成しておいた、Autonomous Data Warehouse用の接続を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/b6247fb2-94f2-7d50-f7b0-73d65ef200bb.png)
表「CHANNELS」をドラッグ＆ドロップして選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/da370985-2a20-d645-c16f-bd3cb5377c8c.png)
列名やデータタイプが一致していれば、自動的に結合されます。
今回は自動的に結合されなかったので、「CHANNELS」を「Sales」の上にドラッグ＆ドロップしました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/ce5f0692-6e8d-5d68-6cf6-afaaa9dce8b3.png)
結合を定義するウィンドウが表示されたので、「Sales」の「CHANNEL_ID」を選択します。
対応する「CHANNELS」の「CHANNEL_ID」を選択したいのですが、データタイプが違っているのか薄いグレーになっています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/bb7cab56-188f-506b-63af-837b52b093b4.png)
構わず選択したところ、この列をメジャーとして認識していたことがわかりました。メジャーではなく属性なので「はい」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/158ae9c9-8113-0163-4c7d-0be85067461c.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/800b077e-8c92-5ca5-727c-9f496e9cd6f7.png)
データセットを保存します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/b597a3ae-432b-edce-fdfa-9a6e0b23aceb.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/b32eecb6-a182-b96b-9d2e-eda0064fb3ca.png)

# 作成したデータセットで可視化してみる
「ワークブックの作成」ボタンが表示されている場合はクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/bd41d6ed-ab75-16e2-274c-e619d5d21544.png)
もしくは、「データ」メニューから、保存したデータセットを探してクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/1b2c8764-ce52-5c1e-3553-cf0a3cc4d95d.png)
100％積上げ棒グラフを作成してみました。
販売数量はSales.xlsxから、製品カテゴリはProducts.xlsxから、チャネルはデータベースの表「CHANNELS」から取得できました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/0280c21a-1d89-96bd-6fdd-7f1f83e98d3c.png)