Oracle Analytics Cloud でOCIオブジェクト・ストレージにあるファイルでデータセットを増分更新する

# はじめに
Oracle Cloud にあるBIツールである Oracle Analytics Cloud(OAC) では、OCI オブジェクトストレージ（クラウドストレージ）にあるファイルをデータセットとして利用できます。ユーザーに中には、オブジェクトストレージのファイルを更新して、更新分をデータセットに増分更新したい場合の方法を紹介します。

# 1.オブジェクトストレージへの接続
OACの作成から接続をクリックし、OCIリソースを選択して、接続名、接続情報はAPIキー、テナンシOCIDはテナントのOCID、ユーザーOCIDはユーザー設定のOCIDを入力し、公開APIキーは[生成]ボタンをクリックして、APIキーを生成して、そのAPIキーをユーザー設定のAPIに貼り付けるとOKです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3112379/42a1eb9d-307f-ee8e-b9e5-84430553a451.png)

# 2.オブジェクトストレージにファイル配置
オブジェクトストレージにチャンネルデータが入ったファイルを配置しました。
![スクリーンショット 2025-02-04 144742.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3112379/32f2cd6a-380c-7553-0586-966d8bde4e3c.png)

チャンネルデータのデータは次のようになっています
| CHANNEL_ID | CHANNEL_DESC | CHANNEL_CLASS | CHANNEL_CLASS_ID | CHANNEL_TOTAL | CHANNEL_TOTAL_ID |
|------------|--------------|---------------|------------------|---------------|------------------|
| 3          | Direct Sales | Direct        | 12               | Channel total | 1                |
| 9          | Tele Sales   | Direct        | 12               | Channel total | 1                |
| 5          | Catalog      | Indirect      | 13               | Channel total | 1                |
| 4          | Internet     | Indirect      | 13               | Channel total | 1                |
| 2          | Partners     | Others        | 14               | Channel total | 1                |

# 3.ファイルからデータセットを作成
[作成] ＞ [データセット]からファイルを配置しているコンパートメントを選択し、オブジェクトストレージのバケットを選択して、バゲットに置いたチャンネルファイルを選択して、データセットを作成して、名前をつけて保存します。
![スクリーンショット 2025-02-04 153029.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3112379/7774fba8-ec8f-30a5-123f-dd39791bff8a.png)

# 4.データセットを編集
左上のナビゲーション・メニューから[データ] をクリックし、 右の画面のデータセット一覧から、作成したデータセットを開き、データ・アクセス・オプションを設定します。
キャッシュのリロードタイプは、[新規および更新済データのロード]を選択します。このオプションは、アップサート(upsert)とも呼ばれますが、新規レコードが使用可能な場合、または既存レコードが更新された場合、新規データをロードします。たとえば、新規トランザクションのみでなく、既存トランザクションへの変更もロードできます。
ユーザー・キー列は、[CHANNEL_ID]にとしています。また、メジャーになっているデータ項目は、属性に変更しています。

![スクリーンショット 2025-02-06 134554.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3112379/38f7a40e-e08b-f443-a1a1-76e599ab1f48.png)

# 5.データセットのロード
データセットをロードします。また、次のCSVファイルを上のオブジェクトストレージに置いた同名ファイルとして上書き保存して、リロードします。

| CHANNEL_ID | CHANNEL_DESC | CHANNEL_CLASS | CHANNEL_CLASS_ID | CHANNEL_TOTAL | CHANNEL_TOTAL_ID |
|------------|--------------|---------------|------------------|---------------|------------------|
| 7          | Direct Sales | Direct        | 12               | Channel total | 1                |
| 8          | Tele Sales   | Direct        | 12               | Channel total | 1                |
| 11         | Catalog      | Indirect      | 13               | Channel total | 1                |
| 10         | Internet     | Indirect      | 13               | Channel total | 1                |
| 12         | Partners     | Others        | 14               | Channel total | 1                |
| 15         | Catalog2     | Indirect      | 11               | Channel total | 1                |
| 16         | tele         | Others        | 11               | Channel total | 1                |


![スクリーンショット 2025-02-06 142557.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3112379/07e07069-2818-9074-2124-873404d526c9.png)

# 6.ワークブック作成
作成したデータセットをそのまま表形式で表示するワークブックを作成すると、元のCSVと上書きしたCSVの両方のレコードが表示できている。データを増分更新できていることがわかりました。

![スクリーンショット 2025-02-06 144315.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3112379/f248fa8d-3fe7-e51b-fe5c-6a348fdf5705.png)

# 7.さいごに
当記事では、CSVファイルを増分更新するケースでしたが、データベースの表でも同じことができます。日次や月次でデータを増分更新する業務に、このデータセットの増分更新する機能は有益かと思います。