はじめに
サブジェクト領域とは、OAC(Oracle Analytics Cloud)で利用するメタデータです。
主な役割は
- 検索ターゲットへの接続情報を事前定義し、エンドユーザーから隠蔽
- 分析テーマに応じた必要な表やビューの選択
- 表やビューの結合を事前定義
- ドリル分析のための階層を事前定義
- 計算式の事前定義
- 役割に応じた表や列へのアクセス制御(行レベルセキュリティを含む)
です。
これらの設定には、Windowsで動作するClient Toolかブラウザで使用できるセマンティック・モデラーを使用します。
サブジェクト領域は、分析テーマや役割に応じて定義します。
例えば、「営業支援」サブジェクト領域、「マーケティング」サブジェクト領域等です。
分析テーマや役割に対応しているという性質上、選択したサブジェクト領域で提供されるデータのみで分析が完結することが想定されます。
とは言え、セルフサービスで様々な分析を進めるにあたり、複数のサブジェクト領域を横断的に分析したいということもあるかと思います。
本記事では、異なるサブジェクト領域のデータを組み合わせて分析する例を紹介します。
方法
前提として、分析にはOACのセルフサービスBI機能を使用します。
大きく分けると3つの方法があります。
- ワークブックにデータソースとして必要なサブジェクト領域を複数追加し結合する
- 必要なサブジェクト領域のデータを単一のデータセットに定義して使用する
- 複数のデータセットをデータフローで結合して新しい分析用データセットを作る
今回は2の方法を採用することにしました。
データセットを作成
用意したサブジェクト領域は2つです。
- 人事総務サブジェクト領域
部門に関する情報をここから取得します - 社員情報サブジェクト領域
社員に関する情報はここから取得します
最初のサブジェクト領域からデータを取得
OACにログインし、「作成」から「データセット」を選択します。
「Local Subject Area」をクリックします。
最初のサブジェクト領域である「人事総務」をダブルクリックするか、ドラッグ&ドロップして選択します。
選択した「人事総務」を右クリックして「定義の編集」をクリックします。
部門に関する必要な列をダブルクリックで選択します。
このあと定義する2番目のサブジェクト領域のデータと結合するための列も含めておきます。
表名を「部門情報」として、「OK」をクリックします。
これで、データセットに最初のサブジェクト領域「人事総務」から取得した部門関連のデータを含めることができました。
2番めのサブジェクト領域からデータを取得
次に、「結合ダイアグラム」タブに移動します。
「社員情報」サブジェクト領域をドラッグ&ドロップで選択します。
「社員情報」を右クリックして「定義の編集」をクリックします。
先ほどと同様に、社員に関連する列をダブルクリックして選択します。
最初のサブジェクト領域のデータと結合するための列も選択しておきます。
表名を「社員情報」として、「OK」をクリックします。
2番めのサブジェクト領域「社員情報」からも必要なデータを含めることができました。
両者を結合して保存
部門情報の右の「○」を「社員情報」までドラッグ&ドロップします。
結合が定義されます。
定義内容を確認してください。
今回は、名称・データタイプが同一の列が含まれていたため自動的に定義されましたが、必要に応じて手動で設定してください。
保存します。
任意の名前を付けます。
ワークブックから利用してみる
「作成」から「ワークブック」を選択します。
保存したデータセットを選択し、「ワークブックに追加」をクリックします。
社員情報と部門情報から列を選択し、ビジュアライゼーションを作成してみました。
AIアシスタントで利用してみる
データセットに索引を作っておけば、AIアシスタントも利用できます。
おわりに
サブジェクト領域から作成したデータセットを他のユーザーと共有する場合は、予期しないデータが表示されないように十分注意してください。
今回は、異なるサブジェクト領域をデータソースとするデータセットを作りましたが、サブジェクト領域とExcelファイル、サブジェクト領域と直接DB検索等の組み合わせでデータセットを作ることもできます。
多次元データソースの場合、データのブレンドに制約があるケースがあるので注意してください。
こちらで確認できます。