Technical Articles
SAP Data Warehouse Cloudにおけるビジネスビルダの利用
はじめに
このブログでは、SAP Data Warehouse Cloudにおけるビジネスビルダを利用したモデリングをご紹介します。以前のブログでは、データビルダでCSVファイルからテーブルおよびビューを作成して、ストーリービルダでストーリーを作成しています。本ブログでは、データビルダで作成したテーブルを元に、ビジネスビルダを利用してモデリングを行っていきます。
ビジネスビルダ(ビジネスレイヤ)とは?
端的に言うと、ビジネスビルダ(ビジネスレイヤ)は2020.23に新しくリリースされた業務ユーザ向けのセルフモデリングツールです。ビジネスビルダは、IT部門によって提供されたガバナンスの効いたデータレイヤのデータを業務ユーザが自ら分析可能なモデルを構築して分析することを可能にします。
- アソシエーションを利用して、ファクトやディメンジョンのデータをスタースキーマとして分析可能にする
- わかりやすい業務用語でメタデータ(メジャーやディメンジョン属性)や構造(ディメンジョンや階層)をマッピングする
- 再利用可能なKPIや権限の定義、地理的情報や通貨換算によるデータの高品質化を行う
そうすることで、“IT部門の助けなしに”セルフサービスで、業務ユーザが構造化されたエンタープライズデータをビジネスレイヤ上にモデルを構築して消費することを可能にします。
以前のブログのように、上記で記載した内容はデータビルダ(データレイヤ)でも実現することは可能です。ただ、すべてをIT部門が管理することになり、業務ユーザの自由度は下がります。したがって、ビジネスレイヤ(ビジネスビルダ)とデータレイヤ(データビルダ)を明確に分離することによって、業務ユーザの裁量で自由にセルフモデリングできるコンセプトで提供されているツールがビジネスビルダとなります。お客様のガバナンスのレベルによっては、データビルダ(データレイヤ)とビジネスビルダ(ビジネスレイヤ)の役割が変わってくるケースもあると思います。
このブログでは、テーブルのみがデータビルダ(データレイヤ)で定義されており、上記をすべてビジネスビルダ(ビジネスレイヤ)で実現するアプローチで話を進めます。このブログで作成するオブジェクトの関係は以下の通りです。
ビジネスビルダで使用する用語を簡単に説明しておきます。
用語 | 説明 |
ビジネスエンティティ | ビジネスエンティティは、データレイヤのテーブルやビューを参照し、すべての属性およびメジャーを含むビジネス用語内のオブジェクトを表します (例:製品、顧客、売上)。 ビジネスエンティティは、メジャーおよび外部キーを含むファクトテーブルを表す分析データセットにすることができます。または、属性のみを含むマスタデータテーブルを表すディメンジョンとすることもできます。 |
ファクトモデル |
ファクトモデルは、複数のビジネスエンティティをファクトおよびディメンジョンとして組み合わせ、複数のファクトにわたる計算を登録することができます。通常、ファクトモデルは、より複雑で一般的なメトリクスや KPI を表すのに使用されます。ファクトモデルはネストできるため、再利用性高く利用可能です。 ※このブログでは簡素化するため、ファクトモデルは登録せずに、直接利用モデルを登録しています。 |
利用モデル、パースペクティブ | 利用モデルは特定のユースケースを示し、ビジネスエンティティとファクトモデルを組み合わせることができます。パースペクティブとともに、ビジネスレイヤ内の最上位レベルで構築します。一つの利用モデルに対して、複数のパースペクティブを定義することができます。ストーリーを作成するためには、利用モデルを公開した上で、パースペクティブを作成する必要があります。 |
権限シナリオ |
権限シナリオは、データアクセスを制限するという最終的な目的を持つユーザの責任を反映する、再利用可能なエレメントです。 ※このブログでは権限シナリオは定義していません。 |
本ブログでは、以下の手順でモデリングを進めていきます。1と2については、データビルダでの作業となるため、以前のブログで使用したCSVファイルとテーブルを流用します。したがって、本ブログでは主に3~7の手順について説明します。
No | タスク | 作業場所 | 想定ユーザ |
1 | CSVファイルからテーブルを作成する | データビルダ | IT部門 |
2 | テーブルの属性を確認、変更する | データビルダ | IT部門 |
3 | ディメンジョンを作成する | ビジネスビルダ | 業務部門(BIモデラ) |
4 | 分析データセットを作成する | ビジネスビルダ | 業務部門(BIモデラ) |
5 | 利用モデルを作成する | ビジネスビルダ | 業務部門(BIモデラ) |
6 | パースペクティブを作成する | ビジネスビルダ | 業務部門(BIモデラ) |
7 | ストーリーを作成する | ストーリービルダ | 業務部門(アナリスト) |
データビルダでの作業
-
CSVファイルからテーブルを作成する
CSVファイルからテーブルを参照して、以下のテーブルを作成してください。
- 「顧客マスター」テーブル
- 「製品マスター」テーブル
- 「売上」テーブル
-
テーブルの属性を確認、変更する
テーブル属性も上記ブログを参照して、インメモリストレージへ変更してください。
ビジネスビルダでの作業
-
ディメンジョンを作成する
データビルダで作成したテーブルを元にディメンジョンを作成します。
「新しいディメンジョン」ボタンをクリックして、ディメンジョンを作成します。すでにデプロイ済みのテーブルが表示されるので、「顧客マスター」を選択します。
「一般」タブで以下のように入力して、「保存」ボタンをクリックしてディメンジョンを一旦保存します。
項目 | 内容 | 備考 |
ビジネス名 | 顧客マスター | 初期値のまま |
データエンティティ | 顧客マスター | 初期値のまま |
公開データアクセスを許可 | ON | 初期値のまま |
バージョンタイトル | Initial | 初期値のまま |
バージョン説明 | Initial Version | 初期値のまま |
ステータス | 使用可能 |
- バージョンとステータス
ビジネスビルダのオブジェクトはバージョン管理を行うことが可能です。また、各バージョンに対して、ステータスを設定してオブジェクトのライフサイクルを管理することが可能です。
本ブログでは、便宜上、初期値のバージョンを使用可能のステータスとして話を進めます。
- 属性の定義
「属性」タブで属性を定義します。
「ソース属性」で「顧客マスター」テーブルから属性として定義する項目を選択します。・
ここでは、「CITYNAME」を属性として定義するために、以下のように入力して「保存」ボタンをクリックします。
項目 | 内容 | 備考 |
ビジネス名 | 都市 | |
技術名 | CITYNAME | |
属性タイプ | ソース属性 | 初期値のまま |
ソース属性 | CITYNAME | 初期値のまま |
IDを使用 | ON | IDを使用とすることで後にID/テキスト表示の選択が可能となります。 |
ID属性 | CITYID | |
補助属性 | OFF |
「国」、「地域」、「顧客」についても以下のように設定します。
項目 | 内容 | 備考 |
ビジネス名 | 国 | |
技術名 | COUNTRYNAME | |
属性タイプ | ソース属性 | 初期値のまま |
ソース属性 | COUNTRYNAME | 初期値のまま |
IDを使用 | ON | IDを使用とすることで後にID/テキスト表示の選択が可能となります。 |
ID属性 | COUNTRYID | |
補助属性 | OFF |
項目 | 内容 | 備考 |
ビジネス名 | 地域 | |
技術名 | REGIONNAME | |
属性タイプ | ソース属性 | 初期値のまま |
ソース属性 | REGIONNAME | 初期値のまま |
IDを使用 | ON | IDを使用とすることで後にID/テキスト表示の選択が可能となります。 |
ID属性 | REGIONID | |
補助属性 | OFF |
項目 | 内容 | 備考 |
ビジネス名 | 顧客 | |
技術名 | CUSTOMER | |
属性タイプ | ソース属性 | 初期値のまま |
ソース属性 | CUSTOMER | 初期値のまま |
IDを使用 | ON | IDを使用とすることで後にID/テキスト表示の選択が可能となります。 |
ID属性 | CUSTOMERID | |
補助属性 | OFF |
- キーの定義
「キー定義」タブでキーを定義します。ここでは「顧客ID」をキーとして定義します。
項目 | 内容 | 備考 |
ビジネス名 | 顧客ID | |
キーフィールド | CUSTOMERID | |
キーフィールドのタイトル | CUSTOMERID |
「確認」ボタンをクリックして、キーの一意性を確認してから「保存」ボタンをクリックします。
製品ディメンジョンも同様に定義します。
属性は「製品」、「ライン」、「カテゴリ」を定義します。
項目 | 内容 | 備考 |
ビジネス名 | 製品 | |
技術名 | PRODUCTNAME | |
属性タイプ | ソース属性 | 初期値のまま |
ソース属性 | PRODUCTNAME | 初期値のまま |
IDを使用 | ON | IDを使用とすることで後にID/テキスト表示の選択が可能となります。 |
ID属性 | PRODUCTID | |
補助属性 | OFF |
項目 | 内容 | 備考 |
ビジネス名 | ライン | |
技術名 | LINENAME | |
属性タイプ | ソース属性 | 初期値のまま |
ソース属性 | LINENAME | 初期値のまま |
IDを使用 | ON | IDを使用とすることで後にID/テキスト表示の選択が可能となります。 |
ID属性 | LINEID | |
補助属性 | OFF |
項目 | 内容 | 備考 |
ビジネス名 | カテゴリ | |
技術名 | CATEGORYNAME | |
属性タイプ | ソース属性 | 初期値のまま |
ソース属性 | CATEGORYNAME | 初期値のまま |
IDを使用 | ON | IDを使用とすることで後にID/テキスト表示の選択が可能となります。 |
ID属性 | CATEGORYID | |
補助属性 | OFF |
キーは「製品ID」をキーとして定義します。
項目 | 内容 | 備考 |
ビジネス名 | 製品ID | |
キーフィールド | PRODUCTID | |
キーフィールドのタイトル | PRODUCTID |
-
分析データセットの定義
「新しい分析データセット」ボタンをクリックして、分析データセットを作成します。すでにデプロイ済みのテーブルが表示されるので、「売上」を選択します。
「一般」タブで以下のように入力して、「保存」ボタンをクリックしてディメンジョンを一旦保存します。
項目 | 内容 | 備考 |
ビジネス名 | 売上 | 初期値のまま |
データエンティティ | 売上 | 初期値のまま |
公開データアクセスを許可 | ON | 初期値のまま |
バージョンタイトル | Initial | 初期値のまま |
バージョン説明 | Initial Version | 初期値のまま |
ステータス | 使用可能 |
- メジャーの定義
「メジャー」タブでメジャーを定義します。
ここでは、以下のように入力して、「売上」を定義します。
項目 | 内容 | 備考 |
ビジネス名 | 売上 | |
技術名 | NETSALES | |
メジャータイプ | 集計 | 初期値のまま |
ソースメジャー | NETSALES | |
集計 | Sum | 初期値のまま |
通貨または単位 | 通貨付きの金額 | 固定値「JPY」 |
補助メジャー | OFF |
「売上数量」を同様に定義します。
項目 | 内容 | 備考 |
ビジネス名 | 売上数量 | |
技術名 | QUANTITY | |
メジャータイプ | 集計 | 初期値のまま |
ソースメジャー | QUANTITY | |
集計 | Sum | 初期値のまま |
通貨または単位 | 単位付きの数量 | 固定値「PC」 |
補助メジャー | OFF |
- 属性の定義
「属性」タブで属性を定義します。
ここでは、以下のように入力して、「販売伝票」を定義します。
項目 | 内容 | 備考 |
ビジネス名 | 販売伝票 | |
技術名 | ORDERID | |
属性タイプ | ソース属性 | 初期値のまま |
ソース属性 | ORDERID | |
IDを利用 | OFF | |
補助属性 | OFF |
同様に、「顧客」、「製品」を定義します。
項目 | 内容 | 備考 |
ビジネス名 | 顧客 | |
技術名 | CUSTOMERID | |
属性タイプ | ソース属性 | 初期値のまま |
ソース属性 | CUSTOMERID | |
IDを利用 | OFF | |
補助属性 | OFF |
項目 | 内容 | 備考 |
ビジネス名 | 製品 | |
技術名 | PRODUCTID | |
属性タイプ | ソース属性 | 初期値のまま |
ソース属性 | PRODUCTID | |
IDを利用 | OFF | |
補助属性 | OFF |
- アソシエーションの定義
「アソシエーション」タブで分析データセットとディメンジョンのアソシエーションを定義します。
「製品マスター」を選択して、製品マスターとのアソシエーションを定義します。キーマッピング後に整合性チェック結果を確認して、「保存」をクリックします。
項目 | 内容 | 備考 |
ターゲットビジネスエンティティ | 製品マスター | 初期値のまま |
参照整合性を確認済み | ON | 初期値のまま |
ターゲットキー | 製品ID | 初期値のまま |
外部キーフィールド | PRODUCTID | 分析データセットの項目から選択 |
関連コンテキスト | OFF |
「顧客マスター」を選択して、顧客マスターとのアソシエーションを定義します。キーマッピング後に整合性チェック結果を確認して、「保存」をクリックします。
項目 | 内容 | 備考 |
ターゲットビジネスエンティティ | 顧客マスター | 初期値のまま |
参照整合性を確認済み | ON | 初期値のまま |
ターゲットキー | 顧客ID | 初期値のまま |
外部キーフィールド | CUSTOMERID | 分析データセットの項目から選択 |
関連コンテキスト | OFF |
以上で分析データセットの定義は終了です。
-
利用モデルの作成
ビジネスビルダの「利用モデルとパースペクティブ」タブで「新しい利用モデル」ボタンをクリックして、ウィザードにしたがって3つのステップで利用モデルを作成します。
タイトルに「売上分析」と入力し、「ステップ2」ボタンをクリックします。
初期ファクトソースとして、「売上」を選択し、「ステップ3」ボタンをクリックします。
ソースエイリアスとして「売上」を入力して、「作成」ボタンをクリックします。
- 属性の定義
ウィザードにしたがって作成したファクトソースを元にディメンジョンソースを定義します。ソースグラフを表示することにより、前のステップで定義したアソシエーションを利用することが可能です。
わかりづらいですが、ファクトソースにカーソルを合わせて、「ソースグラフの表示」アイコンをクリックします。
以下のように、分析データセットに対して定義したアソシエーションが表示されます。
わかりづらいですが、各ディメンジョンにカーソルを合わせて、「ソースコンテキストの追加」ボタンをクリックします。
製品マスターの「ソースコンテキストの追加」ボタンをクリックして、ディメンジョンソースをソースモデルに追加します。ディメンジョンソースの追加もウィザードにしたがって3ステップで行います。
ソースエイリアスに「製品マスター」と入力して、「ステップ2」ボタンをクリックします。
スクロールして、「ステップ3」ボタンをクリックします。
属性として、「カテゴリ」、「ライン」、「製品」を選択します。
「顧客マスター」も同様にディメンジョンソースとして追加します。
- メジャーの定義
「メジャー」タブでメジャーを定義します。ソースモデルに定義済の「売上」、「売上数量」を選択します。
- 公開アクセスを許可
初期では利用モデルは公開アクセスを許可されていないため、「公開データアクセスを許可」のフラグを設定します。
-
パースペクティブの定義
ビジネスビルダの「利用モデルとパースペクティブ」タブでパースペクティブを定義します。パースペクティブでは、利用モデルからレポート出力に必要な項目を予め定義することが可能です。ここでは、「地域ごとの売上のパイチャート」に必要な「地域」と「売上」をパースペクティブに定義します。
「地域」と「売上」をパースペクティブフィールドに選択し、「新規保存」ボタンをクリックします。パースペクティブにはわかりやすいビジネス名および技術名を入力して、「保存」ボタンをクリックします。
パースペクティブはデプロイしないとストーリーから参照できないため、保存後にデプロイを行い、ステータスが「デプロイ済み」となっていることを確認してください。
ストーリービルダでの作業
-
ストーリーの作成
ストーリービルダでストーリーを作成します。データを選択する際に、上記で作成したパースペクティブを選択します。
今回は「地域ごとの売上のパイチャート」を作成するため、「チャート」を選択します。
メジャーとして「売上」、ディメンジョンとして「地域」を選択し、チャートの種類を円グラフにします。
まとめ
本ブログポストでは、SAP Data Warehouse Cloudのビジネスビルダのコンセプトとともに、データビルダでCSVファイルからデータを取り込み、テーブルを作成し、ビジネスビルダでビジネスエンティティや利用モデル、パースペクティブを作成し、ストーリービルダでストーリーを作成する一連の流れをビジネスビルダを中心にご紹介しました。
ビジネスビルダのコンセプトをご理解いただき、SAP Data Warehouse Cloudを導入いただけると幸いです。