本ブログでは、
SAP Datasphere (以下、「
Datasphere」)を使ってモデリングを行い、
SAP Analytics Cloud (
SAC) でデータを可視化する一連の操作について解説します(全4回)。
基本的な操作の流れは下記の通りです。
1. スペースの作成 (Part 1)
2. テーブルの作成 (Part 2)
3. モデリング (Part 3)
4. ストーリー(レポート)の作成 (Part 4)
本ブログでは、前回のPart 2 に続き、「モデリング」の操作方法について解説します。
3. モデリング
モデリングの基本操作と設計・開発の流れについて解説します。
まず、各オブジェクトの関係図は下記になります。

基本的な操作の流れは下記の図の通りです。
(1) ディメンションビューの定義/作成
(2) ファクトビューの定義/作成
(3) 分析モデルの定義/作成

まず、マスターテーブルを元に「
ディメンションビュー」を作成します。これはデータの
分析軸となる項目を定義します。
次にトランザクションテーブルを元に「
ファクトビュー」を作成します。ここでは
メジャー(分析対象の数値項目)を定義します。
後に解説しますが、この「
ファクトビュー」を作成する段階で、分析軸となり得る
「ディメンションビュー」との関連付けも行います。実質的にこの「
ファクトビュー」が
「多次元モデルの大福帳」となります。
最後に「
ファクトビュー」を利用して「
分析モデル」を作成します。「
分析モデル」は各レポート/分析要件に応じて複数の分析モデルを作成することを想定しています。
3 - (1)「ディメンション」ビューの作成
マスターテーブルをもとに「
ディメンションビュー」を作成します。

データビルダーの画面から「
ビュー」タブを選択し、「
新しいグラフィックビュー」をクリックします。

GUIベースのモデリング画面が表示されます。
まずは「
顧客ディメンション」ビューを作成します。
「
顧客マスター」テーブルをキャンバスにドラッグアンドドロップします。

「
View 1」を選択します。

ビジネス名と
技術名を設定し、「
セマンティック用途」に「
ディメンション」を設定します。
【設定項目/設定内容】
・ビジネス名 :
顧客ディメンション
・技術名 :
D_Customers
・セマンティック用途 :
ディメンション

続いて属性の「
編集」アイコンをクリックして、
英語の列名を日本語の列名に変更します。

【設定項目/設定内容】
・CUSTOMERID : 顧客ID
・CITYID : 都市ID
・COUNTRYID : 国ID
・REGIONID : 地域ID
・CUSTOMER : 顧客
・CITYNAME : 都市
・COUNTRYNAME : 国
・REGIONNAME : 地域

設定ができたら画面上から「
保存」ボタンをクリックし、ビューの定義情報を保存します。


「
デプロイ」ボタンをクリックしてこのビューを有効化します。
デプロイが完了したら、「
閉じる」ボタンをクリックして元の画面に戻ります。


続いて同じ操作で「
製品ディメンション」ビューを作成します。
【設定項目/設定内容】
・対象テーブル :
製品マスター
・ビジネス名 :
顧客ディメンション
・技術名 :
D_Customers
・セマンティック用途 :
ディメンション

各項目の
ビジネス名は下記の通りです。
・PRODUCTID : 製品ID
・CATEGORYID : 製品カテゴリID
・LINEID : 製品ラインID
・PRODUCTNAME : 製品
・CATEGORYNAME : 製品カテゴリ
・LINENAME : 製品ライン

3 - (2)「ファクト」ビューの作成
トランザクションテーブルを元に「
ファクトビュー」を作成します。ここではメジャー(分析対象の数値項目)を設定します。
さらにこの段階で、
関連する全てのディメンションとの関連付けを行います。
ここで大事な操作は「
アソシエーション」の設定で、
ファクトビューとディメンションビューの関連付けを行います。

データビルダーの画面から「
ビュー」タブを選択し、「
新しいグラフィックビュー」をクリックします。

テーブルの一覧からトランザクションテーブルにあたる「
受注明細」テーブルを選択し、キャンバスにドラッグアンドドロップします。

「
View 1」を選択し、
ビジネス名と技術名を設定し、「
セマンティック用途」に「
ファクト」を設定します。
・ビジネス名 : 受注明細ファクト
・技術名 : F_Orders
・セマンティック用途 : ファクト

続いて「
メジャー」を設定します。メジャーには
集計対象となる「分析対象の数値項目」を指定します。
下記の列項目をCTRLキーを押しながら複数選択し、「・・・」アイコンから「
メジャーに変更」を選択します。
・UNITPRICE
・QUANTITY
・NETSALES
・UNITCOST


続いて、
ディメンションとの関連付けを行います。
アソシエーションのセクションから「
+」ボタンをクリックし、「
アソシエーション」を選択します。

まず1つ目のディメンションは、先ほど作成した「
顧客ディメンション」を選択します。

自動的に「
CUSTOMERID」列で関連付けされていることが確認できます。
今回は列名とデータ型が同じなので関連付けの設定が自動化されていますが、手動で項目名をドラッグ & ドロップして関連付けを設定することも可能です。

設定ができたら、設定画面上部の「
...」 > 「
<受注明細ファクト」を選択して、上位の設定画面に戻ります。

受注ファクトと顧客ディメンションの関連付けが追加されました。

続いて、「
製品ディメンション」ビューと同じ手順で関連付けを行います。



※ 補足解説 ※
このアソシエーションの設定は、「E/Rモデル」を作成することによって、より直感的にGUIベースの操作で設定することができます。詳しくは下記のBlogも参考にしてください。
SAP Datasphere モデリングTips:スタースキーマ設計時のE/Rモデルの活用

(補足解説終わり)
最後に英語の列名を日本語の列名に変更します。
まずは、「
属性」の「
編集」アイコンをクリックして、下記の項目のビジネス名を修正します。
・ORDERID : オーダーID
・PRODUCTID : 製品
・CUSTOMERID : 顧客


続いて、「
メジャー」の「
編集」アイコンをクリックして下記の項目のビジネス名を修正します。
・UNITPRICE : 単価
・QUANTITY : 数量
・NETSALES : 売上
・UNITCOST : 単位原価


一通りの設定ができたので、一度、ここで設定を保存します。
画面上から「
保存」ボタンをクリックし、分析モデルの定義情報を保存します。
※ 注意 ※ 画面は閉じずにそのままにしてください。
(3)分析モデルの作成
モデリングの最後の操作は、「
分析モデル」の作成になります。
ここでは、「
ファクト」ビューを元に、レポート/分析要件にしたがって、項目名を取捨選択します。
※ 計算メジャー/制限メジャーなどの設定やフィルタ条件の設定を行いますが、今回は説明を割愛します。

先ほどの「
受注明細ファクト」ビューの設定画面から「
分析モデルを作成」のリンクをクリックします。

※ 参考 : 下記画面の通り、データビルダの「分析モデル」タブから作成することも可能です。

分析モデルの画面では、
ファクトビューとディメンションビューの関係が関連図として表示されています。


まずは分析モデルの名称と技術名を指定します。
・分析モデル名 : 受注分析モデル
・技術名 : Orders_AnalyticModel

続いて、レポート画面で主に分析 / レポートする項目をここで選択します。
ここではある程度のレポートでの分析項目をイメージして、項目を取捨選択します。
今回は下記の項目を表示項目として予め削除しておきます(主にID)。
・製品カテゴリID
・製品ラインID
・国ID
・地域ID
・都市ID

項目削除後の画面は下記の通りです。

削除した項目を復活させたい場合は、
ディメンションを選択して表示項目をチェック(再選択)します。


設定ができたら画面上から「
保存」ボタンをクリックし、ビューの定義情報を保存します。


分析モデルの作成は以上ですが、ここでデータの内容や集計結果についても確認していきましょう。
画面右上の「
プレビュー」ボタンをクリックします。

この画面を利用して、メジャー項目を選択したり、ディメンション項目を追加して、集計結果のイメージを確認しましょう。

表示するメジャーやディメンションを選択してください。


集計結果、分析イメージが掴めたら、「
デプロイ」ボタンをクリックしてこのビューを有効化して画面を閉じます。

それでは、いよいよ、
最後の手順「ストーリー(レポート)の作成」に進んでください。
ありがとうございました !! & お疲れさまでした !!
※ 本手順を一通り確認できた方は下記のブログもご確認ください。より理解が深まると思います。
SAP Datasphere での階層定義とドリルアップ/ドリルダウン
SAP Datasphere モデリングTips:スタースキーマ設計時のE/Rモデルの活用