SAP S/4HANA のライブデータを BI ツールから参照するための仕組みを理解しよう
作成者:池口 大輔 投稿日:2017年11月8日
SAP S/4HANA が有する機能の一つとして、SAP S/4HANA embedded analytics と呼ばれる機能があります。SAP S/4HANA embedded analytics は、オペレーショナル・レポーティングを目的としたデータ分析機能や事前定義されたデータモデルなどで構成されます。これにより SAP S/4HANA のデータ構造を気にせずにリアルタイムにビジネスアクションをとるために必要な情報を得ることができます。このため、SAP S/4HANA embedded analytics は、 SAP S/4HANA 上でビジネスプロセスに組み込んで利用することで、お客さまのビジネスの効率化・迅速化をサポートします。SAP S/4HANA embedded analytics については、コチラのブログも参照ください。
しかしながら、SAP S/4HANA embedded analytics は多様化する情報活用のニーズのすべてに必ずしも対応できるとは限りません。「レポートのビジュアライズにこだわりたい」、「情報活用をセルフサービス化したい」、といったニーズに対応するためには、SAP BusinessObjects BI プラットフォームなどの BI ツールが必要になる場合もあります。
本ブログでは、SAP が提供する BI ツールである SAP Lumira, discovery edition から SAP S/4HANA のライブデータを参照するための仕組みと方法をご紹介します。SAP Lumira, discovery editionの詳細についてはコチラのブログを参照ください。
Virtual Data Model (VDM) と Core Data Services (CDS)
SAP Lumira, discovery edition から SAP S/4HANA のライブデータに参照するための仕組みの全体像を下図に示します。
SAP Lumira, discovery edition から SAP S/4HANA のライブデータを参照する場合、データベーステーブルを直接参照するわけではありません。ここで重要な概念は、Virtual Data Model (VDM) と Core Data Services (CDS) です。まず、この VDM と CDS について説明します。
VDM は、SAP S/4HANA で利用されている、業務データを表現するための概念です。VDM は、SAP S/4HANA のデータベースモデルの上にセマンティックレイヤを構築して、利用者から物理テーブルの構造などの技術的な詳細を隠すことを目的としています。
CDS は、データモデルを意味的に豊富なかたちで定義、使用することによって生産性、利便性、パフォーマンス、相互運用性を改善するためのドメイン固有言語 (DSL) です。この CDS を利用して実装された VDM が、Core Data Services View (CDS View) と呼ばれるものです。
SAP が提供する CDS の実装には2つのタイプがあります。一つは ABAP CDS、もう一つは HANA CDS と呼ばれています。2つの CDS の大きな違いはサポートしているアノテーション (annotation) が異なることで、ABAP CDS はより多くのアノテーションをサポートします。SAP S/4HANA で使用されている CDS は、ABAP CDS です(以降、断りがない限り、本ブログ中の CDS は ABAP CDS とします)。アノテーションについては後述します。
ちなみに ABAP CDS は、Netweaver 7.4 SP5 以降でサポートされています。ABAP CDS はデータベースに依存しないため、Netweaver 7.4 SP5 以降で動作保証している SAP HANA 以外のデータベースでも利用可能です。
SAP S/4HANA 1610 FPS 01 では、トランザクションとマスタデータテーブルを含むオペレーショナルデータのモデルを表現するための 8,900 を超える CDS View を事前に定義して提供しています。SAP が提供する CDS View は拡張可能です。また、新しい CDS View を作成することも可能です。CDS View は、SAP S/4HANA の ABAP レイヤで開発され、メンテナンスされ、拡張されます。そのため、CDS View のシステム間の移送は SAP の標準のトランスポートプロセスとして管理されます。
CDS アノテーション (annotation)
アノテーション (annotation) は、注記、注釈といった意味の言葉です。CDS アノテーションは、データ定義の際に、データに対してメタデータを付与するために使用します。この CDS アノテーションを利用することによって、「この CDS View は、OData サービスとして外部に公開します」とか「この CDS View は、キューブ (Cube) タイプの View です」とか「この項目は通貨単位を表します」といったようにデータに意味付けをおこなうことができます。アノテーションを付与することは、CDS View を作成する上でとても重要です。
CDS View の作成方法
CDS View の作成は、統合開発環境 Eclipse のプラグインとして提供されている ABAP 開発ツール (ABAP Development Tools for Eclipse) でおこないます。CDS View を作成し、有効化すると ABAP ディクショナリに登録され、SAP HANA データベース上に SQL View が生成されます。
CDS View と SAP HANA Information View (Calculation View) の違い
「CDS View と Calculation View って同じものですか?」という質問をされることがあります。CDS View は、SAP HANA データベース上では SQL View で、SAP HANA の Calculation View とは異なるものです。CDS View は、アノテーションでセマンティックを付与します。ABAP CDS View のセマンティックは ABAP 上のエンジンで解釈、実行されます。一方、SAP HANA の Calculation View は、Calculation View 定義内でセマンティックを付与します。Calculation View のセマンティックは、SAP HANA 上で解釈、実行されます。
CDS のもう一つの実装である HANA CDS のセマンティックは、SAP HANA 上で解釈、実行されますが、こちらも Calculation View の場合とは異なります。
SAP HANA の Calculation View に、CDS View (の有効化により作成された SQL View) を含めることはできますが、2017 年 10 月時点では CDS View に Calculation View を含めることはできません。
CDS View のタイプを指定するアノテーション
CDS View には、用途に合わせた複数のタイプがあります。それぞれのタイプの View の特徴を紹介します。
Private View
エンドユーザが直接利用しないタイプの View です。変更や拡張は推奨されません。
Interface View
Interface View は、再利用可能な一貫性のある View です。Interface View には、Basic View と Composite View があります。Basic View は Customer や Sales Order といった重複しないコアエンティティを表すために使用します。Composite View は、複数の Basic View を組み合わせて構成された View です。集約や複雑な計算ロジックを含む場合もあります。
Consumption View
Interface View を組み合わせて作成する、外部公開のための View です。BI ツールなどの外部アプリケーションはこのタイプの View にアクセスすることになります。
上記の CDS View のタイプは VDM アノテーションを使用して定義します。
SAP Lumira, discovery edition から SAP S/4HANA のライブデータを参照する
CDS View を分析アプリケーションに公開するためのアノテーション
CDS View を SAP Lumira, discovery edition などの BI ツールから参照するためには、前述の @VDM アノテーションに加えて、@Analytics アノテーションを付与する必要があります。関連するアノテーションは下表のとおりです。
SAP Lumira, discovery edition から SAP S/4HANA のライブデータを参照するための仕組み
@Analytics.dataCategory アノテーションを付与した CDS View を作成して有効化すると、TransientProvider とよばれる InfoProvider が自動で作成されます。また、@Analytics.query アノテーションの値に true を設定して付与した CDS View を有効化すると、TransientQuery とよばれるクエリが自動で作成されます。SAP Lumira, discovery edition などの BI ツールは、この TransientProvider および TransientQuery にアクセスして、SAP S/4HANA のライブデータを参照することが可能です。
自動で作成された TransientProvider は、Display TransientProvider Preview for Operational Data Provider(トランザクションコード: rsrts_odp_dis)で確認することが可能です。
自動で作成された TransientQuery は、クエリモニタ(トランザクションコード: rsrt / rsrt2)で確認・実行することが可能です。また、Fiori Launchpad のクエリブラウザでも確認やクエリを実行してデータを表示することができます。
SAP Lumira, discovery edition から SAP S/4HANA のライブデータを参照してみる
SAP Lumira, discovery edition から、SAP S/4HANA のライブデータを参照してみましょう。SAP S/4HANA のライブデータを参照する場合、Data Source メニューの Databases から、「SAP BW Live Data」を選択します。
SAP S/4HANA のアクセス情報(サーバ、クライアント ID、ユーザ名、パスワード、言語)を入力して接続します。接続すると、データソースを選択する画面が表示されます。データソース選択画面では、 TransientProvider および TransientQuery が選択できます。
分析したい TransientProvider または TransientQuery を選択して開いて、データのビジュアライゼーションや、ストーリーボードの作成や共有といった作業をおこないます。
今回は、SAP が提供する BI ツールである SAP Lumira, discovery edition から SAP S/4HANA のライブデータを参照するための仕組みと方法をご紹介しました。
ご質問はチャットやWebからも受け付けております。お気軽にお問い合わせください。
●お問い合わせ先
チャットで質問する
Web問い合わせフォーム
電話: 0120-554-881(受付時間:平日 9:00~18:00)