Power BI Desktop で SAP Business Warehouse コネクタを使用する

Power BI Desktop を使用して、SAP Business Warehouse (SAP BW) データにアクセスできます。 SAP BW コネクタの Implementation 2.0 は、バージョン 1.0 からパフォーマンスと機能が大幅に改善されています。

SAP のお客様が SAP BW システムに Power BI を接続することで得られる利点については、Power BI と SAP BW に関するホワイトペーパーを参照してください。 DirectQuery と SAP BW を使用する方法については、「DirectQuery と SAP Business Warehouse (BW)」を参照してください。

重要

SAP BW コネクタのバージョン 1.0 は非推奨です。 新しい接続は SAP BW コネクタの Implementation 2.0 を使用します。 近い将来、バージョン 1.0 のサポートはすべて、コネクタから削除されます。 この記事の情報を使用して、コネクタの Implementation 2.0 を使用するように既存のバージョン 1.0 レポートを更新します。

SAP BW コネクタを使用する

次の手順に従って、SAP BW コネクタをインストールしてデータに接続します。

前提条件

SAP Connector の Implementation 2.0 には、SAP .NET Connector 3.0 が必要です。 SAP から SAP .NET Connector 3.0 をダウンロードできます。 ダウンロードにアクセスするには、有効な S ユーザーのサインインが必要です。

重要

必ず SAP .NET Connector 3.0 を使用してください。 SAP BW Application Server コネクタでは、現在、SAP .NET Connector 3.1 はサポートされていません。

.NET 4.0 フレームワーク コネクタには、32 ビット バージョンと 64 ビット バージョンがあります。 Power BI Desktop のインストール バージョンに合わせてバージョンを選択します。

インストール時に、 [Optional setup steps](省略可能な設定手順) で必ず [Install assemblies to GAC](アセンブリを GAC にインストールする) を選択します。

Screenshot of the SAP optional setup steps with Install assemblies to GAC selected.

Note

SAP BW コネクタの最初のバージョンでは、NetWeaver DLL が必要でした。 現在のバージョンでは、NetWeaver DLL は必要ありません。

Power BI Desktop で SAP BW データに接続する

SAP BW コネクタを使用して SAP BW データに接続するには、次の手順に従います。

  1. Power BI Desktop で、 [データの取得] を選択します。

  2. [データの取得] 画面で [データベース] を選択してから、[SAP Business Warehouse Application サーバー] または [SAP Business Warehouse メッセージ サーバー] を選択します。

    Screenshot that shows the Get Data options for SAP.

  3. [接続] を選択します。

  4. 次の画面で、サーバー、システム、クライアントの情報、インポートまたは DirectQuery のどちらの接続方法を使用するかを入力します。 詳しい手順については、以下を参照してください。

    Note

    SAP BW コネクタを使用して、SAP BW Server キューブ (既定値) からデータをインポートするか、DirectQuery を使用してデータに接続することができます。 SAP BW コネクタを DirectQuery と一緒に使用する方法の詳細については、DirectQuery と SAP Business Warehouse (BW) に関するページを参照してください。

    [詳細オプション] を選択し、言語コード、指定したサーバーに対して実行するカスタム MDX ステートメント などのオプションを選択することもできます。 詳細については、「詳細オプションを使用する」を参照してください。

  5. [OK] を選択して、接続を確立します。

  6. 必要な認証データを指定し、[接続] を選択します。 認証の詳細については、「データ ソースを使用した認証」を参照してください。

  7. カスタム MDX ステートメントを指定しなかった場合は、[ナビゲーター] 画面に、サーバーで使用可能なすべてのキューブのリストが表示されます。 使用可能なキューブから、ディメンションやメジャーなどの項目をドリルダウンして選択することができます。 Power BI には、Open Analysis Interfaces で公開されているクエリとキューブが表示されます。

    サーバーから 1 つ以上の項目を選択すると、[ナビゲーター] に出力テーブルのプレビューが表示されます。

    Screenshot of a SAP table preview in the Navigator screen.

    [ナビゲーター] ダイアログには次の表示オプションも表示されます。

    • 選択された項目のみ。 既定では、 [ナビゲーター] にすべての項目が表示されます。 このオプションは、選択した項目の最終的なセットを確認するのに役立ちます。 または、プレビュー領域で列名を選択して、選択した項目を表示することもできます。
    • [データ プレビューを有効にします] 。 この値が既定値で、データ プレビューが表示されます。 このオプションの選択を解除すると、プレビュー データが要求されなくなり、サーバーの呼び出し回数が減ります。
    • [技術名] 。 SAP BW では、キューブ内のオブジェクトに対してユーザー定義の "技術名" がサポートされています。 キューブ所有者は、オブジェクトの物理名のみを公開するのではなく、キューブ オブジェクトのこれらのフレンドリ名を公開できます。

    Screenshot of the display options in the Navigator window.

  8. 必要なすべてのオブジェクトを選択したら、次のいずれかのオプションを選択します。

    • [読み込み] を選択すると、出力テーブルの行セット全体が Power BI Desktop データ モデルに読み込まれます。 レポート ビューが開きます。 データのビジュアル化を開始する、またはさらに変更するには、[データ] または [モデル] ビューを使用します。
    • [データの変換] を選択すると、[Power Query エディター] が開いてデータが表示されます。 行セット全体を Power BI Desktop データ モデルに取り込む前に、追加のデータ変換とフィルター手順を指定できます。

SAP BW キューブのデータに加えて、Power BI Desktop の他のさまざまなデータ ソースのデータをインポートし、それらを 1 つのレポートに結合することもできます。 この機能により、SAP BW データ上でのレポート作成と分析について多くの興味深いシナリオが提示されます。

SAP BW の Implementation 2.0 の新しいオプション

このセクションでは、SAP BW コネクタの Implementation 2.0 の機能と機能強化の一部を示します。 詳細については、「実装の詳細」を参照してください。

[詳細オプション]

SAP BW 接続画面の [詳細オプション] で、次のオプションを設定できます。

  • [実行モード] を使用して、MDX インターフェイスがサーバー上でクエリを実行する方法を指定します。 次のオプションが有効です。

    • BasXml
    • BasXmlGzip
    • DataStream

    既定値は BasXmlGzip です。 このモードを使用すると、低遅延または大量のクエリのパフォーマンスを向上させることができます。

  • [バッチ サイズ] には、MDX ステートメントの実行時に一度に取得する最大行数を指定します。 数値を小さくすると、大規模なセマンティック モデルを取得するときに、サーバーへの呼び出し回数が多くなります。 値を大きくすると、パフォーマンスが向上する可能性がありますが、SAP BW サーバーでメモリの問題が発生する場合があります。 既定値は 50000 です。

  • [特性の構造を有効にします] を使用して、[ナビゲーター] の特性の構造の表示方法を変更します。 このオプションの既定値は false (オフ) です。 このオプションは、選択に使用できるオブジェクトのリストに影響し、ネイティブ クエリ モードではサポートされていません。

その他の機能強化

次の一覧は、Implementation 2.0 のその他の機能強化をまとめたものです。

  • パフォーマンスが向上します。
  • 数百万データ行を取得し、バッチ サイズ パラメーターによって微調整する機能。
  • 実行モードを切り替える機能。
  • 圧縮モードのサポート。特に、待ち時間の長い接続または大規模なセマンティック モデルに役立ちます。
  • Date 変数の検出が向上しました。
  • Date (ABAP 型 DATS) および Time (ABAP 型 TIMS) ディメンションは、テキスト値ではなく、日付と時間として公開されます。 詳細については、「SAP BW の型指定された日付のサポート」を参照してください。
  • 例外処理の向上。 BAPI の呼び出しで発生したエラーが表示されるようになりました。
  • BasXml および BasXmlGzip モードでの列の折りたたみ。 たとえば、生成した MDX クエリで 40 列を取得するが、現在の選択で必要なのは 10 列だけの場合、この要求がサーバーに渡され、取得されるセマンティック モデルが小さくなります。

既存の Implementation 1.0 レポートを更新する

インポート モードでのみ Implementation 2.0 を使用するように既存のレポートを変更できます。

  1. Power BI Desktop の既存のレポートから、リボンの [データの変換] を選択し、更新する SAP Business Warehouse クエリを選択します。

  2. クエリを右クリックし、 [詳細エディター] を選びます。

  3. [詳細エディター] で、SapBusinessWarehouse.Cubes の呼び出しを次のように変更します。

  4. 次の例のように、オプション レコードがクエリに既に含まれるかどうかを確認します。

    Screenshot that shows a plaintext query with an option record.

    その場合は、[Implementation 2.0] オプションを追加し、ScaleMeasures オプションは削除します。

    Screenshot that shows a plaintext query with the added value Implementation = 2.0.

    Note

    この実装では、ScaleMeasures オプションは非推奨です。 スケーリングされていない値が、コネクタに常に表示されるようになりました。

  5. クエリにオプション レコードがまだ含まれていない場合は、追加します。 たとえば、次のエントリを変更します。

    Screenshot that shows a plaintext query with an option record added.

    この行を次のように変更します。

    Screenshot that shows a plaintext query of the new option with the added value Implementation = 2.0.

Note

SAP BW コネクタの Implementation 2.0 は、バージョン 1 と互換性があるはずです。 ただし、SAP BW MDX 実行モードが異なるために相違がいくつかある可能性があります。 何らかの不一致を解決するには、実行モードを切り替えてみてください。

トラブルシューティング

このセクションでは、SAP BW コネクタに関するトラブルシューティングの状況と解決策をいくつか示します。 詳細については、「SAP Business Warehouse コネクタのトラブルシューティング」を参照してください。

SAP BW から返される数値データの形式が正しくない

この問題では、SAP BW から返される数値データが、コンマではなく、ピリオドです。 たとえば、1,000,000 は 1.000.000 と返されます。

SAP BW から返される 10 進データの小数点記号は、コンマまたはピリオドのいずれかがです。 SAP BW でどちらの小数点記号を使うかを指定するには、Power BI Desktop ドライバーで BAPI_USER_GET_DETAIL を呼び出します。 この呼び出しから、DEFAULTS という構造体が返され、その中の DCPFM というフィールドに "10 進形式表記" が次のいずれかの値で格納されています。

  • ' '' ' (スペース) = 小数点はコンマ: N.NNN,NN
  • 'X' = 小数点はピリオド: N,NNN.NN
  • 'Y' = 小数点は N: NNN NNN,NN

この問題では、BAPI_USER_GET_DETAIL の呼び出しが特定のユーザーで失敗します。そのユーザーは形式が正しくないデータを取得し、次のようなエラー メッセージを受け取ります。

 You are not authorized to display users in group TI:
     <item>
         <TYPE>E</TYPE>
         <ID>01</ID>
         <NUMBER>512</NUMBER>
         <MESSAGE>You are not authorized to display users in group TI</MESSAGE>
         <LOG_NO/>
         <LOG_MSG_NO>000000</LOG_MSG_NO>
         <MESSAGE_V1>TI</MESSAGE_V1>
         <MESSAGE_V2/>
         <MESSAGE_V3/>
         <MESSAGE_V4/>
         <PARAMETER/>
         <ROW>0</ROW>
         <FIELD>BNAME</FIELD>
         <SYSTEM>CLNTPW1400</SYSTEM>
     </item>

このエラーを解決するには、SAP 管理者がこの Power BI SAP BW ユーザーに BAPI_USER_GET_DETAIL の実行権限を付与する必要があります。 また、ユーザーのデータの値が正しい DCPFM であること確認します。

SAP BEx クエリ用の接続が必要である

次の画像に示すように、[外部アクセス用のリリース] プロパティを有効にすると、Power BI Desktop で BEx クエリを実行できます。

Screenshot that shows enabling Release for External Access.

この問題では、[ナビゲーター] にデータ プレビューが表示されず、代わりに "オブジェクト参照がオブジェクト インスタンスに設定されていません" というエラー メッセージが表示されます。

SAP ユーザーは、メタデータを取得し、SAP BW のインフォプロバイダからデータを取得するために、次の特定の BAPI 関数モジュールにアクセスする必要があります。

  • BAPI_MDPROVIDER_GET_CATALOGS
  • BAPI_MDPROVIDER_GET_CUBES
  • BAPI_MDPROVIDER_GET_DIMENSIONS
  • BAPI_MDPROVIDER_GET_HIERARCHYS
  • BAPI_MDPROVIDER_GET_LEVELS
  • BAPI_MDPROVIDER_GET_MEASURES
  • BAPI_MDPROVIDER_GET_MEMBERS
  • BAPI_MDPROVIDER_GET_VARIABLES
  • BAPI_IOBJ_GETDETAIL

この問題を解決するには、ユーザーが MDPROVIDER モジュールと BAPI_IOBJ_GETDETAIL にアクセスできることを確認します。

トレースを有効にする

これらの問題や同様の問題をさらにトラブルシューティングするには、トレースを有効にします。

  1. Power BI Desktop で、[ファイル]>[オプションと設定]>[オプション] の順に選択します。
  2. [オプション][診断] を選択し、[診断オプション][トレースを有効にする] を選択します。
  3. トレースがアクティブになっている間に SAP BW からデータを取得してみてください。トレース ファイルを調べると、より詳細な情報が得られます。

SAP BW 接続のサポート

次の表は、SAP BW の現在の Power BI サポートをまとめたものです。

Product モード 認証 コネクタ SNC ライブラリ サポートされている
Power BI Desktop 任意 ユーザー/パスワード アプリケーション サーバー 該当なし はい
Power BI Desktop 任意 Windows アプリケーション サーバー sapcrypto + gsskrb5/gx64krb5 はい
Power BI Desktop 任意 借用による Windows アプリケーション サーバー sapcrypto + gsskrb5/gx64krb5 はい
Power BI Desktop 任意 ユーザー/パスワード メッセージ サーバー 該当なし はい
Power BI Desktop 任意 Windows メッセージ サーバー sapcrypto + gsskrb5/gx64krb5 はい
Power BI Desktop 任意 借用による Windows メッセージ サーバー sapcrypto + gsskrb5/gx64krb5 はい
Power BI Gateway インポート Power BI Desktop と同じ
Power BI Gateway DirectQuery ユーザー/パスワード アプリケーション サーバー 該当なし はい
Power BI Gateway DirectQuery 借用による Windows (固定ユーザー、SSO なし) アプリケーション サーバー sapcrypto + gsskrb5/gx64krb5 はい
Power BI Gateway DirectQuery DirectQuery クエリ オプションには Kerberos 経由で SSO を使用する アプリケーション サーバー sapcrypto + gsskrb5/gx64krb5 はい
Power BI Gateway DirectQuery ユーザー/パスワード メッセージ サーバー 該当なし はい
Power BI Gateway DirectQuery 借用による Windows (固定ユーザー、SSO なし) メッセージ サーバー sapcrypto + gsskrb5/gx64krb5 はい
Power BI Gateway DirectQuery DirectQuery クエリ オプションには Kerberos 経由で SSO を使用する メッセージ サーバー gsskrb5/gx64krb5 いいえ
Power BI Gateway DirectQuery DirectQuery クエリ オプションには Kerberos 経由で SSO を使用する メッセージ サーバー sapcrypto はい