【SAC】SAP Analytics Cloud でデモ環境を構築する　～前編～

# はじめに
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/137780/856f0dda-f9eb-3a17-a656-268ba85fd75d.png)


**SAP Analytics Cloud(SAC)とは・・・**

- SAPが提供しているエンタープライズ向けソリューションの１つ。
- **BI(データ分析・探索)、計画（予算管理・プランニング機能）、予測（予測・影響分析）**の３つの機能をサポート。※
- これらの機能はそれぞれが独立して存在しているわけではなく、ストーリー(ダッシュボード)上で組み合わせて使用することが可能。

　　⇒ **企業の迅速な意思決定を実現！**

※ 計画機能のみ「計画/プランニング」プランのライセンスが必要

◇◇◇

SAP Analytics Cloudの詳しい製品概要はこちらの記事を参照 ↓
[Qiita - SAP Analytics Cloudのサービス概要](https://qiita.com/again_qt/items/6880770cb91dc642f825)

# 今回構築するデモ環境

**＜テーマ＞**
予算管理＆予実分析を目的としたデモ環境の構築

**＜前提＞**
1. 衣料品・食品・飲料の製造・販売を行う某企業の会計管理システム（という設定）
2. 自己学習も兼ねているので、BI機能、計画、予測機能を極力網羅して構築する

## 環境構築のステップ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/137780/bf6bb063-e5bc-5054-8fb2-77b427e1a506.png)

環境構築のステップは大きく以下の通り

- **モデルの作成**
    - **ライブ接続**、**インポート接続**、または**ファイルインポート機能**を使用して元となるデータを読み込み、モデルを作成
    - メンバー（項目）のタイプや書式などは、この段階で設定する
    - 作成画面は**Excelベース**の画面になっており、比較的操作が容易
- **ディメンション設定**
    - 必要に応じて、各ディメンション毎に親子関係の構築や計算項目の追加等を行う
- **ストーリーの作成**
    - ストーリー：ダッシュボード機能のこと
    - 作成したモデルを使用して、オブジェクトを生成
    - マッピング機能により、複数モデルを連携させてオブジェクトを作ることもできる
    - 各機能に応じた様々なオブジェクトを1画面上に作成可能(もちろんタブ分けも出来る)
        - BI関連：グラフチャート、地図機能 等
        - 計画関連：テーブル、割当機能の実行 等
        - 予測関連：予測チャート 等
        - その他：テキスト、画像、Webページ、RSSリーダ 等

## 1. モデルの作成

・メインメニュー＞作成＞モデルより、作成画面にアクセス
・モデルの開始方法を選択（今回は事前に用意したcsvファイルをインポートさせます）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/137780/4c974b10-09b8-1a9e-469e-05a5d87d4dfe.png)

・ソースファイルに用意したcsvを選択して、インポート開始
・モデル編集画面に遷移

（モデル編集画面）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/137780/873813b9-3530-4112-7286-2206c612a758.png)

- 各列をクリックすると、画面右のバーよりメンバープロパティの設定ができる
    - タイプは以下の条件で設定
        - 日付：年、年月、年月日 など）
        - メジャー：売上、売上原価、諸経費 などの金額データ
        - 組織：部署、営業所、都道府県 など
        - 勘定：金額データ（ただ、基本的にはメジャーに設定すれば事足りるので、使いどころが分からない・・・要調査）
        - バージョン：原案/最終案、予算/実績 などのバージョン分け要素
        - タイムスタンプ：そのまま
        - 汎用：上記以外のデータ

　　　**【2020.8.21 追記】**
　　　汎用ディメンションは、アップデートにより「一般ディメンション」に改称されました。

- システムが各項目を認識して自動的にタイプ分けしてくれているが、意図しない設定になってることもあるので、設定チェックは必ず行うこと

- 今回は以下の通りに設定しました
    - 年月：日付
    - バージョン：バージョン
    - 製品：汎用
    - 製品カテゴリ：製品の親階層（後述）
    - 営業所：組織
    - 営業所エリア：営業所の親階層（後述）
    - マーケティング費、営業経費、人件費、設備費、その他費用：メジャー
    - 売上、売上原価：メジャー
    - 経度、緯度：汎用

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/137780/5f1c1c41-a9d0-5dac-d0a6-6b55750b78b5.png)

- 「ディメンション属性を追加」で、各ディメンションの属性を追加できる
    - 今回の場合、「製品カテゴリ」はそれぞれ「製品」の親にあたるため、「製品」列クリック＞右の設定バーより、「製品カテゴリ」を親に設定する
    - 「営業所エリア」-「営業所」も同様の設定をしました
    - このほか「説明」属性を付与することで、ID - 名称の紐づけを行うこともできます

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/137780/27b4dd1e-cfa3-5249-b555-b1f80b6882b7.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/137780/940025bc-ce84-5067-8dec-d239a2aec737.png)


- バージョンディメンションは、バージョンマップが必要になります
- 「Actuals」カテゴリを使用する場合のみ、バージョンを「Actual」に設定しないと保存時にエラーになるため注意

　　**【2020.8.21 追記】**
　　　カテゴリ欄はアップデートにより日本語表記に変更されています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/137780/8cfe7e98-cbb0-9d94-bf28-26d3ab52d77d.png)

- メジャータイプは金額データのため、スケール（円単位、千円単位 など）や小数点以下の値の表示設定を行うことが出来る
    - 特に指定しなければ小数点以下は第2位まで表示されます。今回はややこしいので「0」に設定しました

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/137780/7c324613-25a9-5099-adff-501dd9175d0e.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/137780/f572b8f0-ba18-20f3-4957-62162e8c7549.png)


- 緯度・経度のデータがある場合には地理情報を追加することが出来ます
    - 地理情報は地図機能などで活用できる（ストーリー上に地図を作ることで、かなりオシャレなダッシュボードという印象になるのでオススメです！）
    - ディメンション名は日本語不可なので注意
    - 今回は各営業所の緯度・経度なので、ロケーションテキストに「営業所」を選択

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/137780/f420f63f-4caa-4ef2-15d6-c6d9364df0a0.png)

- スマート変換機能を使用することで、文字列の置換や交換が可能
    - 「売上原価」に金額データでない文字列が存在していたため、スマート変換により「#missing」をnull値に置換しました

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/137780/0a32beea-3521-3306-6613-438c665fe71b.png)

- 各メンバーの「データ品質」欄を見ることで、不適切なデータが混入していないかチェックすることができる

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/137780/8289bab8-e16f-9d4e-8b9f-8b428b7f7a5a.png)

- 列選択をしていない時は、右のバーにモデルの全体設定が表示される
    - 今回は計画機能を使用するため、**「計画有効化」にチェックを入れる**
    - **チェックを入れないと分析用モデルとして保存されます。**その場合計画機能（予算データの管理全般）の使用が出来なくなるため要注意！
    - 今回、デフォルト通貨には「JPY(日本円)」を設定しました

・すべての設定が終わったら「データチェック」をクリックして最終チェックをかけたのち、「モデルの作成」をクリックしてデータモデルを任意の場所に保存する

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/137780/e46602ce-40a1-d06f-44dd-77d11075dfd4.png)

- 今回は公開フォルダ上に「KYO_Plan」というフォルダを作り、その配下に同名のモデルを保存しました。
    - フォルダはメインメニュー＞ブラウズ＞ファイルから確認可能です。

モデルの作成は以上になります。


## 2. ディメンション設定

・メインメニュー＞ブラウズ＞ファイルから作成したモデルをクリックすると、モデル/ディメンションの編集画面に遷移する

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/137780/830236c8-f04c-d4db-b080-cad0749e8a16.png)

①**データ管理**：データのインポート/エクスポート履歴を確認できる。１つのモデルに複数のデータソースをインポートしたい時は、ここをクリックして「ドラフトソースの追加」を行うことで実行できる。
②**モデル推奨設定**：モデルの全体設定を行うことができる。（後述）
③**ディメンションの追加**：ディメンションの追加を行うことができる。
④**モデルの再構築**：「1.モデルの作成」の作業を再度やり直しできる。（ただし既にこのモデルでストーリー等を作成していた場合は、その設定がクリアされる場合があるので注意）
⑤**各ディメンション名**：クリックするとメンバー編集画面に遷移する。（後述）

　**【2020.8.21 追記】**
　　　モデル編集画面のレイアウトが、アップデートにより変更されました。

・②のモデル推奨設定をクリックして、全体設定を確認する。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/137780/6a1da3cf-b158-90d9-168e-089bd74448cf.png)

- 「会計期間」をオンにして、期間設定を行う。
    - 今回のデータは4月始まりのため、「4月」「始期が属する暦年」を選択
    - 例）2016/4～2017/3月のデータの場合：「始期が属する暦年」なら「2016年度」、「終期が属する暦年」なら「2017年度」と認識されます。

・Accountのディメンション名をクリックして、Accountディメンションのメンバー編集画面に遷移します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/137780/daec07f8-5b1b-b69b-af41-3bc7f4f488bb.png)

- ディメンション＝軸、メンバー＝軸に紐づく各項目と覚えてください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/137780/6d2b4eee-bb57-082b-9c48-4d2962e008aa.png)

・今回は以下のようなAccountディメンションの構成にします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/137780/66969e65-fe0e-06d8-d8ef-e96e208691c1.png)


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/137780/dff1e52e-83de-a0b9-5cc3-cd65745f8627.png)

（Margin(売上総利益)の例）

- 追加ボタン![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/137780/65c80178-1973-019c-f7e6-ece8ac8beaa1.png)をクリックすると、画面右にメンバー設定画面が表示される
    - メンバーIDと説明は特に言語の制約はありませんが、IDを半角英数字・説明を日本語名称にするのが望ましいです。
    - 階層に親メンバーを指定すると、その子供として親子関係が構築されます。
    - 子→親への集計が単純集計でない場合は、計算欄に任意の計算式を入れることで、集計方法を変更することができます。
    - 今回の場合、「売上総利益」は売上-売上原価の値のため、図の通り計算式を設定
    - 勘定タイプはINC（収入）、EXP（費用）など、メンバーに応じて設定を変える。
    - 上記をもとに、「利益」「総費用」も追加してください。

・「階層管理」![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/137780/d03090ae-7956-fa4e-61b1-6a8e9ab41dde.png)をクリックすると、メンバー順や親子関係の調整ができる。

・今回は以下の階層に設定。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/137780/04e91031-aeb7-9e53-175c-b2c3b1b392db.png)

・最後に保存![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/137780/8cdbe5b0-9aac-7288-86d3-6c4830dd3e44.png)をクリックすることで、メンバー設定が保存されます。

・その他のディメンションについては、それぞれ下記のように変更を行う。

（製品）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/137780/66dc2747-3ee6-7a3a-733f-8e5e55e2f9cb.png)

- 「合計」メンバーの追加
- 「合計」を親に設定し、配下の製品を並べ替え

　　**【2020.8.21 追記】**
　　ディメンション設定で「階層に属さない」というメンバーが自動で追加されているが、こちらのメンバーは階層に含めなくてよい


（営業所）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/137780/12a90bba-1904-8dfe-6211-c4e51dd46903.png)

- 「営業所エリア」「営業所」の項目順を並べ替え

・ディメンション設定は以上になります。