Technical Articles
SAP DatasphereとSAP Analytics Cloudの双方向連携方法Part2 (SAC→Datasphere)
はじめに
本ブログでは、SAP Datasphere とSAP Analytics Cloud (SAC) の双方向のデータ連携の方法を記載します。
Part1ではDatapshereからSACへのデータ連携(青線)を説明しました。本ブログPart2ではSACからDatasphereへのデータ連携(赤線)を説明します。
図1. SACとDatasphereのデータExport&Import連携
本ブログを作成した2022年9月時点では上記のような方法での連携となりますが、今後段階的にSACとDatasphereの統合が進み、2022年Q4時点ではデータモデルおよびカタログの統合が予定され、2023年以降にはSACとDatasphereのデータ基盤が完全に統合される予定です。
図2. SACとDatasphereの機能統合ロードマップ
本ブログのシナリオ
本ブログでは、「触ってみよう!SAP Analytics Cloud for Planning」で使用しているモデル、データを利用してご説明します。
大まかな流れは以下の通りです。
図3. 本ブログのシナリオ概要
- S/4HANAなどから実績データをDatasphereに連携する。(本ブログの対象外)
- Datasphereの実績データをSACの計画モデルに連携する。(本ブログPart1でデータ連携方法説明)
- 計画データを入力、公開する(本ブログの対象外、触ってみよう!ブログでご紹介)
- SACの計画モデルを参照する計画テーブル(仮想)をDatasphereに作成し、これをもとに予実対比のビューを作成し、予実分析を行う。(本ブログPart2でデータ連携方法説明)
では、早速本題に入っていきましょう。
SACのデータをDatasphereに連携する方法
手順概要
DatasphereからSACへのデータ連携は、以下のような手順で進みます。
-
SACでOAuthクライアントを登録
-
Datasphereでクラウドデータ統合接続(CDI接続)を作成
-
Datasphereでリモートテーブルをインポート、ビューを作成
1. SACでOAuthクライアントを登録
まず、SACにてOAuthクライアントを登録します。(Part1ではDatasphere側にOAuthクライアントを登録しました。)
SACの「システム」→「管理」→「アプリ統合」に遷移し、「OAuthクライアント」より「新規OAuthクライアントを追加」を押下します。(ここのトークンURLは後程使用します)
図1. [SAC] 新規OAuthクライアント追加
以下の項目を入力・選択し、「追加」を押下します。
- 名称:任意の名前
- 目的:「インタラクティブ用途及びAPIアクセス」を選択
- アクセス:「データエクスポートサービス」を選択
図2. [SAC] 新規OAuthクライアント設定
OAuthクライアントが追加されました。この後Datasphereにて「OAuthクライアントID」と「シークレット」を使用します。
図3. [SAC] 新規OAuthクライアント
以上でSAC側でOAuthクライアントが作成されました。図1の「トークンURL」、図3の「OAuthクライアントID」、「シークレット」をこの後利用します。
2. Datasphereでクラウドデータ統合接続(CDI接続)を作成
次に、DatasphereでSACに対するクラウドデータ統合接続を作成します。
Datasphereの接続より「作成」を押下して新しい接続を作成します。
図4. [Datasphere] 接続の作成
接続タイプとして「クラウドデータ統合」を選択します。
図5. [Datasphere] 接続タイプの選択
SACへの接続情報として、以下のように選択します。
- 接続詳細URL:https://<SACのホスト名>/api/v1/dataexport/administration
- 接続タイプ:OAuth 2.0
- OAuthトークンエンドポイント:図1のトークンURL
- 接続情報(OAuth2.0) クライアントID:図3のクライアントID
- 接続情報(OAuth2.0) クライアントシークレット:図3のクライアントシークレット
- データプロビジョニングエージェント:あらかじめ登録済みのDP Agent
図6. [Datasphere] 接続プロパティ
接続のビジネス名、技術名を入力し「接続を作成」を押下して保存します。
図7. [Datasphere] 接続の作成
接続が作成されたら、接続のチェックを行い、正常にDatasphereからSACに接続されていることを確認します。
図8. [Datasphere] 接続のチェック
以上で、DatasphereからSACへの接続が設定されました。次に、この接続をもとに実際にデータの連携を行います。
3. Datasphereでリモートテーブルをインポート、ビューを作成
SACで作成した計画モデルをDatasphereにリモートテーブルとしてインポートします。
データビルだを開き、「リモートテーブルをインポート」を選択します。
図9. [Datasphere] リモートテーブルのインポート
上記2で作成したSACへのCloud Data Integration接続を選択します。
図10. [Datasphere] 接続の選択
リモートテーブルのインポートの際、SACの計画モデルのGUIDが必要となります。SACで計画モデルを開き、URLよりGUIDを取得(コピー)します。GUIDはURLの<…/m/model/>以降の文字列です。
図11. [SAC] 計画モデルのGUIDの取得
リモートテーブルを選択します。左に表示されているSACのオブジェクトリストから対象のSAC計画モデルのGUID選択するか、GUIDが見つからない場合は検索ボックスにSAC計画モデルのGUIDを入力してGUIDを検索し、選択します。
図12. [Datasphere] リモートテーブルのインポート
必要に応じ、ビジネス名、技術名を変更して「インポート及び配置」を押下しDeploy(配置)します。
図13. [Datasphere] リモートテーブルのDeploy
Deployが完了するとデータビルだにてリモートテーブルが表示されます。
図14. [Datasphere] Deployされたリモートテーブル
リモートテーブルを開く、データプレビューを行うと、SACから取得したデータが表示されます。
図15. [Datasphere] リモートテーブルの確認
以上で、SACの計画モデルをDatasphereでリモートテーブルとしてインポートし、SACのデータがDatasphereで活用可能となりました。
最後に、Datasphereでこの計画データと実績データを統合する予実分析データモデルの作成を行います。このデータモデルは業務要件をもとに作成いただく形になりますが、シンプルな例としては以下のように実績のデータとSACの予算データをUNIONするビューとなります。このビューを介してSACでレポーティングを行うことで、S/4HANAなどから連携された実績データとSAC Planningで登録された計画データを統合した予実分析が可能となります。
さいごに
以上、SACの計画データをDatasphereに連携する方法をご紹介しました。
最初にも触れた通り、現時点ではこの方法でSACの計画データをDatasphereで直接利用することが可能です。
一方、2023年以降に予定されているSACとDatasphereの連携強化により、SACの計画機能を直接Datasphereのデータに対して行うことができる予定になっています。
素晴らしいブログありがとうございます。

SACの計画モデルでは金額(JPY)固定で予算を作成し、スフィアに連携しました。
スフィア上で通貨の色が欠落してしまいました。
いいアイデア、解決策等ありますでしょうか。