Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
haruki
Advisor
Advisor
(English version)

 

はじめに


こちらのブログで、SAP DatasphereからS/4HANA、オンプレミスSAP HANA、SAP HANA Cloudへの接続設定を行いました。また、こちらのブログでは、S/4HANAのCDS ViewのデータをSAP Datasphereへスナップショット複製して可視化しています。

本ブログでは、リアルタイムでSAP Datasphereにデータを複製してみます。ソースシステムとしてオンプレミスのSAP HANAを使用します。

 

以下の流れで行います。

  1. SAP DatasphereにGraphical Viewを作成する

  2. SAP HANAからSAP Datasphereにデータをリアルタイムで複製する

  3. データ件数確認用のストーリーを作成する

  4. ソース側でデータを更新し、データがリアルタイムに連携されることを確認する


* 本ブログは英語表記画面でキャプチャを取得していますが、ユーザー設定で日本語表記とすることも可能です。

 

 

1. Graphical Viewを作成する


まず、左のメニューアイコンから"Data Builder"を選択し、接続定義が作成されているSpaceを選択します。


"New Graphical View"を押下してViewを作成します。


左のペーンでViewのソースをリポジトリ(SAP Datasphereのテーブル・Viewを参照)、ソースシステム(接続先システムのオブジェクトを参照)から選択することが可能です。本ブログでは、"Sources"を選択し、オンプレミスSAP HANAにあるテーブルを選択します。

"Sources"を選択すると、SAP HANAのスキーマが表示されます。


今回は"TPCH"スキーマにある"LINEITEM_2"テーブルを使用します。


"LINEITEM_2"テーブルをドラッグ&ドロップしてインポートします。


Viewの"Business Name"、"Technical Name"を入力します。今回はデータ件数確認用のストーリーを作成するので、"Type"を"Analytical Dataset"に、"Allow Consumption"を"ON"にします。


データ件数を確認するためにデータ件数確認用の項目を追加します。ターゲットの"LINEITEM VIEW"を選択し、表示されるメニューから"Calculated Columns"のアイコン(fxアイコン)を選択します。


右上の"+"ボタンを押下し、"Calculated Column"を追加します。


”Technical Name"を入力し、"Expression"に"1"を入力します。各行ごとに数値"1”の項目が作成されるため、これを合計することで行数が表示されるようになります。


再度"LINEITEM VIEW"に移り、数値項目の"..."を押下して"Change to Measure"を選択することで、数値項目を"Measure"として定義します。


先ほど作成した"Calculated Column" "CNT"も含め、数値項目をMeasureとします。全て単純に合計するため、集計タイプは"SUM"とします。


他にも階層の定義、演算項目の定義、フィルタ、他テーブルとの結合、など様々なデータの加工・演算が可能ですが、本ブログではこのままとし、保存、デプロイします。


ターゲットを選択して"Data Preview"を押下すると、データのプレビューが表示されます。この時点ではデータはSAP Datasphereには保持せず、随時ソースシステム(オンプレミスSAP HANA)に問い合わせに行きます。


"Data Builder"に戻ると、保存したGraphical Viewと、そこで使用されたソーステーブル(今回はCDS View)がオブジェクトとして一覧に表示されます。


 

 

2. データを複製する


前のステップで作成したGraphical Viewに対してレポート(ストーリー)を作成することも可能です。この場合は問い合わせのたびに毎回オンプレミスSAP HANAにアクセスしてデータを取得します。

一方、よりパフォーマンスを考慮しデータをSAP Datasphereに複製することも可能です。本ブログではデータをリアルタイムに複製してみます。

* 現時点(2020年5月)ではデータ複製のみですが、本年度中(2020年中)にデータフロー機能が提供される予定で、これによりデータ抽出時にデータの加工変換などを行ういわゆるETL処理が可能となります。

左のメニューアイコンから、"Data Integration Monitor"を選択します。

先ほど作成したテーブル(SAP HANAのテーブルを参照しているテーブル)が表示されています。"Data Access"列で"Remote"と"Replicated"が選択できます。

  • Remote : SAP Datasphereにデータは持たず、随時ソースシステムにアクセスする

  • Replicate : ソースシステムからSAP Datasphereにデータ複製する


ここで設定を"Replicate"に変更します。


"Data Frequency”として"None"と"Real-Time"が選択可能です。ここでは"Real-Time"とします。

  • None : スナップショットとしてデータを保持します。データソースが更新されてもスナップショットを更新しない限りSAP Datasphere側は更新されません

  • Real-Time : ソースシステムで発生した変更をリアルタイムにSAP Datasphereに連携します



データの複製(初期ロード)が開始され、終了するとステータスが"Active"となります。これでリアルタイムでの複製状態となりました。


 

 

3. 件数確認用ストーリーを作成する


ソースシステムでデータが更新されたことを確認するために、簡単なストーリーを作成します。左のメニューアイコンから"Story Builder"を選択します。スペースが表示されますので、Graphical Viewを作成したスペースを選択します。



"Create Story"を押下し新しいストーリーを作成します。



データソース選択画面にて、先に作成したGraphical Viewを選択します。


チャート、テーブル、地図など、様々なコンポーネントを使用してストーリーを作成することが可能です。


ここでは、チャートを作成します。 チャートは"Indicator" > "Numeric Point"とし、"Measure"として"CNT"を選択します。


現在のデータ件数が表示されます。ストーリー作成が完了したら保存します。



 

4. ソースシステムでデータを更新する


ソースシステム(オンプレミスSAP HANA)でデータを更新します。今回はデータを2件追加します。


先ほど作成したストーリーを更新します。


データが2件追加されていることが確認できます。ほぼリアルタイムにソースシステムで更新されたデータがSAP Datasphereに転送されました。



 

 

さいごに


以上で、ソースシステム(オンプレミスSAP HANA)からSAP Datasphereにリアルタイムでデータを複製する、という流れをご紹介しました。

通常システム間のデータ連携を行うにはETLの設定を行い、ETLジョブを作成し、ETLジョブを実行する、という流れが必要ですが、SAP Datasphereではシステム接続設定(DP Agentの設定)さえしてしまえば、あとはON/OFFの設定だけでデータを複製するかしないか、複製する場合はスナップショットかリアルタイム連携か、を実現できることがおわかりいただけたと思います。