Skip to Content
Technical Articles
Author's profile photo Takuhito Tanaka

BW/4HANAのモデリングにおける留意点

はじめに

このブログポストでは、最近Premium Engagementなどのサービスを通じて、多くのBW/4HANA導入を支援してきた中で多く見られるモデリングについて共有したいと考えています。以下に記載している内容は、実際のアセスメントの際に指摘させていただいた内容となっておりますので、BW/4HANAのモデリングをする際のご参考となれば、幸いです。

 

最近よく見るBW/4HANAのモデリングの特長

最近の日本のお客様のBW/4HANAのモデリングの特長は以下の図の通りです。どこに問題があるかわかるでしょうか?

もちろん、私たちSAPサービスがすべてのお客様に関わっているわけではないのですが、私たちがPremium EngagementやProfessional Serviceとして関わらせていただいたお客様のBW/4HANAのモデリングとして、HANAレイヤ(HANA View)を利用するモデリングが多いと感じています。技術的には、HANAレイヤ(HANA View)を利用することはもちろん可能なのですが、サポートされていない方法で実装されていたり、クエリパフォーマンスの観点で最適でない実装がされていたり、BW/4HANAの特長が活かされず、モデルと管理が複雑化しているケースもあります。

ここからは実際にアセスメントの際に指摘させていただいた内容をいくつかご紹介します。

 

サポートされていない方法で実装されている

HANAのCalculation Viewの定義時にBWのマスタデータ(/BIC/Pxxxx)やトランザクションデータの格納されたテーブル(/BIC/Axxxx)を直接参照しているケースがありますが、この実装方法はサポート対象外となります。

以下のノートにあるように、BWアプリケーションが生成するマスタやADSOの透過テーブルを直接Calculation View内で参照されることはサポートされていません。エクスターナルビュー経由で参照するように定義を変更してください。

1682131 – SAP BW tables in SAP HANA Information Views and ABAP CDS Views not supported

2723506 – External SAP HANA SQL View with SAP BW/4HANA 2.0

 

エクスターナルビューから階層データを利用する場合にはBWクエリと同様の機能が動作しない場合があるので、事前に以下のオンラインヘルプやノートをご確認ください。

SAP HANA Views for Hierarchies

2317197 – External SAP HANA View: Frequently asked questions, feature availability

 

クエリパフォーマンスの観点で最適でない実装されている

HANAレイヤでHANA Viewを実装した後に、BWのクエリで利用するために、BWのコンポジットプロバイダを定義する必要がありますが、コンポジットプロバイダのモデリングの仕方でパフォーマンスや機能に影響が出るケースがあります。コンポジットプロバイダに対して、直接HANA Viewを定義することは可能ですが、パフォーマンスの観点からはあまり望ましくありません。

まずは、オンラインヘルプにコンポジットプロバイダをモデリングする際の推奨事項が記載されているので、ご確認ください。

Recommendations for Modeling CompositeProviders

コンポジットプロバイダにてインフォプロバイダを結合する際の注意点や、物理データを参照する場合に最大限のパフォーマンスが保証されること、仮想データの場合もパフォーマンスのためにはSIDを紐づける設定をすること、などが記載されています。

ここで重要なのは、クエリのパフォーマンスを最適化するためには「SIDを紐づける設定をすること=インフォオブジェクトを利用すること」です。SIDがない場合、OLAP演算処理のプッシュダウンやOLAPキャッシュの機能が利用できず(2514442 – Cache in database cannot be used – Brain Dev 027)、クエリパフォーマンスに影響が出る可能性があります。

以下は、トランザクションコード:RSRTで確認できますが、SIDがないため、OLAP演算処理のプッシュダウンがされていないことがわかります。

クエリが参照するインフォプロバイダでは、物理テーブルにSIDが保持される設計にします。具体的には、物理データがある場合は、ADSO、仮想データを参照する必要がある場合は、Open ODS View(インフォオブジェクトに割り当てあり)をコンポジットプロバイダから参照するようにします。

また、コンポジットプロバイダのモデリングについては、以下のノートもあります。

最適なプッシュダウンのためには、検索キーにNULLが発生しないデータの準備や、複合特性をそろえておくこと、SIDは物理データとして利用可能とすること、ナビゲーション属性の定義の方法、などコンポジットプロバイダを定義される際に確認していただきたい事項が記載されているので、参考にしてください。

2271658 – Design Considerations for Composite Provider

Long runtimes in query on CompositeProvider

 

SIDがない場合の問題としては、以下のような問題もあります。

BWクエリが参照するインフォプロバイダにSIDが物理データとして存在している場合にのみ、トランザクションデータに存在するマスタデータのみを入力ヘルプに表示する設定が利用可能です。

1565809 – BW Query Input(F4) Help: Settings and Properties

2094816 – HCPR/ADSO: Input help in mode D: “Only Values in InfoProvider

 

 

HANAにプッシュダウンされる処理は?

HANAレイヤ(HANA View)を利用するモデリングで実装している背景として、BW on HANA導入時に思ったようなパフォーマンスが出ないという経験をしており、なるべくHANAに近いレイヤでモデリングしようとしているのではないかと推測しています。BW on HANAのリリースから長い年月が経ち、現在では多くのBWの処理がHANAにプッシュダウンされるようになっています。

HANAは常に処理がプッシュダウンできるかどうかをチェックしています。詳細は以下のヘルプをご覧ください。

Operations in SAP HANA

また、以下のノートでOLAP演算処理のうち、どの処理がどのバージョンからプッシュダウンされているかを確認することが可能です。まだプッシュダウンされていない処理もありますが、多くの処理がプッシュダウンされていることがわかります。

2063449 – Push down of BW OLAP functionalities to SAP HANA

最後に、以下のノートにプッシュダウン対象であるOLAP演算処理がプッシュダウンされない場合の原因調査の手順や、プッシュダウン機能を利用するための前提条件について記載されています。参考にしてください。

2400004 – Checking ‘Hana Pushdown’ of OLAP features like Exception Aggregation

 

まとめ

最近よく見るBW/4HANAのモデリングの特長から、BW/4HANAのモデリングの留意点を説明しました。このブログを通して、BW/4HANAのモデリングの留意点を確認していただき、モデルと管理のシンプル化やHANAの最適なパフォーマンスといったBW/4HANAのメリットを享受いただけると幸いです。

Assigned Tags

      Be the first to leave a comment
      You must be Logged on to comment or reply to a post.