Oracle Analytics Cloud Classic： セマンティックモデラー(Semantic Modeler)を試す。物理レイヤーをつくってみる

はじめに
---
Oracle Analytics Cloud Classic： セマンティックモデラーでは、物理レイヤー、論理レイヤー、プレゼンテーション・レイヤーの順番で構築していきます。
とっかかりとして、物理レイヤーを作成するところからはじめていきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/787c987f-c901-205d-cc5c-ac559adcb6be.png)

記事記載時のOAC ver：Jan 2023 Update

前提
---
セマンティックモデラーとは何かというのがぼんやりとわかっている。
Autonomous Dataware Warehouseの接続をしたことがある。ウォレットファイルがある。

物理レイヤーとは
---
OACのマニュアル"Oracle Analytics Cloudでのセマンティック・モデルの構築"には、
「セマンティック・モデルの物理レイヤーには、ビジュアライゼーションおよびレポート用のデータを提供するバックエンド・データ・ソースの物理データ構造を表すオブジェクトが含まれます。」とあります。
どこにある、どのデータベースのどの表を利用するか。についてセットするのが物理レイヤーです。

手順は以下です。
・どこにある、どのデータベースにどのデータベースユーザーでアクセスするかについて、"接続"を作成します。
・どの表を利用するかについて、物理レイヤーに取り込みます。


接続を作成する
---
接続を作成します。左上部の接続タブをクリックします。作成アイコン＋をクリックします。接続の作成をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/111c57b0-48e7-4734-f4bb-009fe119d21b.png)

セマンティックモデラーで対応しているデータストアの接続タイプが表示されます。Oracle Autonomous Data Warehouseをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/48b42e6f-33cf-07b3-0be4-bdefeeda986b.png)

クライアント資格証明で、ウォレットファイルを選択します。接続名を入力します。データベースユーザーのユーザー名、パスワードを入力します。
"システム接続"をチェックします。システム接続は必ずチェックします。
保存をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/9be44749-6771-1be3-5ed0-7827029f0781.png)

保存後、作成した接続が表示されます・
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/f2edceb5-9eee-070a-2814-7a7f527e6a6d.png)


接続できないときには、以下のような"接続の保存に失敗しました。"と表示されます。Autonomous Dataware Houseが正常に稼働しているか等確認します。
<img width="400" alt="{4b1e6cb8-df13-5e8d-8279-0d214f3b80db}.tmp.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/4b1e6cb8-df13-5e8d-8279-0d214f3b80db.png"/>

表を物理レイヤーに取り込む
---
左部上段の"物理レイヤー"タブをクリックします。表示されているデータベース"MyDatabase"をダブルクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/e9c0e644-014e-6aa2-b85c-50eecbe95033.png)

表定義を取り込みます。左部上段の"接続"タブをクリックします。作成した接続で、スキーマの左の▲をクリックします。データベースユーザーがリストされます。SHJPの左の▲をクリックし、表の一覧を表示します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/74cbfa9a-2b73-23e3-aa18-ced2ea9325f5.png)

SHJPの表で、取り込む対象の表をMyDatabaseの表のところにドラッグし、ドロップします。PRODUCTS、SALES、TIMESを選択します。複数選択する際は、Ctrlキーを押しながらクリックします。PRODUCTS、SALES、TIMESをドラッグし、ドロップします。
![{5DB2ECAB-E045-4E79-BEA6-90E21F38D16E}.tmp.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/cf332543-d620-ad43-6729-9a46fed28db1.png)

"関連表の追加"が表示されます。そのままチェックせずに追加をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/b071e94c-2dd3-66ff-93e5-775d5b6c9711.png)

表のSHJPの左の▲をクリックします。取り込んだ表が表示されます。
![{5DB2ECAB-E045-4E79-BEA6-90E21F38D16E}.tmp.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/d7c15a8a-d7e3-cd25-1f94-c7c6f845afa6.png)

結合のところを確認します。データベースで表に外部キー制約が設定されている場合は、自動で結合も取り込まれます。結合関係が設定されていない場合は、結合＋をクリックし、結合関係を設定します。
![{5DB2ECAB-E045-4E79-BEA6-90E21F38D16E}.tmp.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/15176bf1-2530-180a-4eff-797455d1f47b.png)

結合をダブルクリックすると、結合条件が確認できます。保存をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/16a256da-f4f4-8ad9-4cdc-a474cdbf8f70.png)

物理レイヤーをつくる際には、接続を作成し、表を取り込み、結合を設定するという作業を行います。表を取り込むことにより、データベースの表の定義情報が取り込まれます。

その他、物理レイヤーですべきこととしては、表のキャッシュ設定、別名の利用などがあります。用途や要件によって、適宜設定します。

以上