この記事の内容は、Oracle Analytics Cloud(OAC) May 2023 Updateを使用して検証しました。
将来のアップデートでUIが変更される可能性があります。
この前の作業
こちらを参考に、新規のセマンティック・モデルを作成の上、物理層を定義してください。
Oracle Analytics Cloud:ブラウザでリポジトリ作成 1/3 ~接続プールと物理層の作成~
1. 論理層の作成
セマンティックモデルを開き(あるいはセマンティックモデルを開いた状態で)、「新規」ボタンをクリックし「ビジネス・モデル」を選択します。
2. ビジネスモデルの定義
ビジネスモデルに必要な定義を加えていきます。
2.1 論理表の選択
最初にファクト表を選択します。
ファクト表とは、集計するデータが格納された表のことです。
集計するデータとは、一般的には金額や数量、人数などです。ファクト表には集計列の他に、分析の軸にあたるディメンションとの結合列が含まれます。
ファクトの「表の追加」アイコンをクリックし、「表の追加」を選択します。
「SALES」表を選択します。
同様に、ディメンションにも表を追加します。
「CHANNELS」「PRODUCTS」「TIMES」の3つの表を追加します。
2.2 チャネル・ディメンションの定義
「CHANNELS」ディメンション表をダブルクリックします。
「一般」タブに移動して、「主キー」として「CHANNEL_ID」が選択されていることを確認します。
「列」タブに移動して、上下の矢印アイコンやドラッグ&ドロップで、列の並び順を変えます。
「階層」タブに移動し、階層タイプを「レベル・ベース」にします。
階層名を「H1」から「Channel Dim」に変更します。
デフォルトの「合計」「詳細」を削除します。
総計レベルを追加します。
次に、「新規レベル」を追加します。
もう一つ、「新規レベル」を追加します。
最後に「詳細」を追加します。
「総計レベル」をクリックし、レベル名を「Grand Total」にして、「このレベルの要素」を「1」にします。
総計レベルのすぐ下のレベル(おそらく「レベル-3」という名前になっているはず)を選択し、レベル名を「Channel Total」にします。主キーは「CHANNEL_TOTAL_ID」、表示キーは「CHANNEL_TOTAL」にします。
関連付けられた列には、「CHANNEL_TOTAL_ID」と「CHANNEL_TOTAL」を選択します。
同様の手順で残りのレベルも設定します。
元のレベル名 | レベル名 | 主キー | 表示キー | 関連付けられた列 |
---|---|---|---|---|
レベル-4 | Channel Category | CHANNEL_CLASS_ID | CHANNEL_CLASS | CHANNEL_CLASS_ID、CHANNEL_CLASS |
詳細 | Channel Detail | CHANNEL_ID | CHANNEL_DESC | CHANNEL_ID、CHANNEL_DESC |
2.3 製品・ディメンションの定義
もう一つ普通のディメンションを定義します。製品ディメンションです。
ビジネスモデル「SH」のタブに戻って、「PRODUCTS」をダブルクリックします。
「一般」タブに移動し、主キーが「PROD_ID」であることを確認します。
「列」タブに戻り、「PROD_DESC」論理列をクリックして選択し、「削除」アイコンをクリックします。確認を求められたら「はい」を選択します。
※物理的には削除されませんので、元のデータには影響ありません。
続いて、次の列を残してそれ以外を削除します。まとめて選択して削除することもできます。
- PROD_ID
- PROD_NAME
- PROD_SUBCATEGORY
- PROD_SUBCATEGORY_ID
- PROD_CATEGORY
- PROD_CATEGORY_ID
- PROD_TOTAL
- PROD_TOTAL_ID
ドラッグ&ドロップや上下の矢印アイコンを使って、列の順序を変えます。
「階層」タブに移動し「階層タイプ」を「レベル・ベース」にします。デフォルトの「合計」「詳細」を削除します。
階層名をH1から「Product Dim」に変更します。
総計レベルを追加します。
新規レベルを3つ追加します。
次に「詳細」を追加します。
「総計レベル」をクリックし、レベル名を「Grand Total」にして、「このレベルの要素」を「1」にします。
その他のレベルを次のように変更します。
元のレベル名 | 新しいレベル名 | 主キー | 表示キー | 関連付けられた列 |
---|---|---|---|---|
レベル-3 | Product Total | PROD_TOTAL_ID | PROD_TOTAL | PROD_TOTAL_ID、PROD_TOTAL |
レベル-4 | Product Category | PROD_CATEGORY_ID | PROD_CATEGORY | PROD_CATEGORY_ID、PROD_CATEGORY |
レベル-5 | Product Sub Category | PROD_SUBCATEGORY_ID | PROD_SUBCATEGORY | PROD_SUBCATEGORY_ID、PROD_SUBCATEGORY |
詳細 | Product Detail | PROD_ID | PROD_NAME | PROD_ID、PROD_NAME |
2.4 時間・ディメンションの定義
最後に時間ディメンションを定義します。
ビジネスモデル「SH」のタブに戻って、「TIMES」をダブルクリックします。
「一般」タブに移動し、主キーが「TIME_ID」であることを確認します。
「列」タブに戻って、不要な論理列を削除します。今回は残す列は次の通りです。
- CALENDAR_YEAR
- CALENDAR_MONTH_DESC
- TIME_ID
列の順序を並べ替えます。
「階層」タブに移動します。階層タイプを「時間」にします。
デフォルのレベル、「合計」と「詳細」は削除します。
名前を「Time Dim」に変更します。
総計レベルを追加します。
新規レベルを2つ追加します。
最後に「詳細」を追加します。
「総計レベル」をクリックし、レベル名を「Grand Total」にして、「このレベルの要素」を「1」にします。
その他のレベルを次のように変更します。
一番下のレベル(Time Detail)では、時系列キーを指定するのを忘れないようにします。
元のレベル名 | 新しいレベル名 | 主キー | 表示キー | 関連付けられた列 | 時系列キー |
---|---|---|---|---|---|
レベル-3 | YYYY | CALENDAR_YEAR | CALENDAR_YEAR | CALENDAR_YEAR | <設定しない> |
レベル-4 | YYYY/MM | CALENDAR_MONTH_DESC | CALENDAR_MONTH_DESC | CALENDAR_MONTH_DESC | <設定しない> |
詳細 | Time Detail | TIME_ID | TIME_ID | TIME_ID | TIME_ID |
2.5 ファクトの定義
SHビジネスモデルのタブに戻り、「SALES」ファクトをダブルクリックします。
「QUANTITY_SOLD」列を右クリックし、表示されたメニューから「詳細を開く」を選択します。
集計ルールを「合計」とします。
同様の手順で、「AMOUNT_SOLD」の集計ルールを「合計」に、「CUST_ID」の集計ルールを「件数」とします。
保存します。
次の作業
次は、プレゼンテーション層でサブジェクト領域を作成します。