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