Power BI Desktop で SAP Business Warehouse コネクタを使用する
Power BI Desktop を使用して、SAP Business Warehouse (SAP BW) データにアクセスできます。 SAP BW コネクタ実装 2.0 では、バージョン 1.0 からのパフォーマンスと機能が大幅に向上しています。
この記事では、インストール、接続のセットアップ、トラブルシューティングの手順など、Power BI Desktop で SAP BW コネクタを使用する方法と、最新のコネクタ実装を使用するように既存のレポートを更新する方法について説明します。
SAP のお客様が Power BI を SAP BW システムに接続するメリットの詳細については、Power BI と SAP BW の ホワイトペーパーを参照してください。 SAP BW での DirectQuery の使用の詳細については、DirectQuery と SAP Business Warehouse (BW)
重要
SAP BW コネクタのバージョン 1.0 は非推奨です。 新しい接続では、SAP BW コネクタの実装 2.0 が使用されます。 バージョン 1.0 のすべてのサポートは、近い将来コネクタから削除される予定です。 この記事の情報を使用して、コネクタの実装 2.0 を使用するように既存のバージョン 1.0 レポートを更新します。
SAP BW コネクタを使用する
SAP BW コネクタを使用してデータをインストールして接続するには、次の手順に従います。
前提
SAP Connector の実装 2.0 には、SAP .NET Connector 3.0 または 3.1 が必要です。 SAP .NET Connector 3.0 または 3.1 を SAP からダウンロードできます。 ダウンロードにアクセスするには、有効な S ユーザー サインインが必要です。
.NET Framework コネクタは、32 ビットバージョンと 64 ビット バージョンで提供されます。 Power BI Desktop のインストール バージョンと一致するバージョンを選択します。
インストールする場合は、
手記
SAP BW コネクタの最初のバージョンでは、NetWeaver DLL が必要です。 現在のバージョンでは、NetWeaver DLL は必要ありません。
Power BI Desktop で SAP BW データに接続する
SAP BW コネクタを使用して SAP BW データに接続するには、次の手順に従います。
Power BI Desktop で、[データの取得]を選択します。
[データの取得] 画面で [データベース] を選択してから、[SAP Business Warehouse アプリケーション サーバー] または [SAP Business Warehouse メッセージ サーバー] を選択します。
[接続] を選択します。
次の画面で、サーバー、システム、クライアントの情報を入力し、 のインポート
使用するか、DirectQuery 接続方法を するかを入力します。 詳細な手順については、以下を参照してください。 - Power Query Desktop から SAP BW アプリケーション サーバーに接続する
- Power Query Desktop から SAP BW メッセージ サーバーに接続する
手記
SAP BW コネクタを使用して、SAP BW Server キューブ (既定値) からデータをインポートすることも、DirectQuery を使用してデータに接続することもできます。 DirectQuery での SAP BW コネクタの使用の詳細については、「DirectQuery および SAP Business Warehouse (BW)を参照してください。
詳細オプション選択し、言語コード、指定したサーバーに対して実行するカスタム MDX ステートメント、その他のオプションを選択することもできます。 詳細については、「高度なオプションを使用する」を参照してください。
[OK]
選択して接続を確立します。 必要な認証データを入力し、接続を選択します。 認証の詳細については、「デスクトップ アプリでの認証 」を参照してください。
カスタム MDX ステートメントを指定しなかった場合は、ナビゲーター 画面に、サーバーで使用可能なすべてのキューブの一覧が表示されます。 ディメンションやメジャーなど、使用可能なキューブからアイテムをドリルダウンして選択できます。 Power BI には、Open Analysis Interfaces を介して公開されるクエリとキューブが表示されます。
サーバーから 1 つ以上の項目を選択すると、ナビゲーター に出力テーブルのプレビューが表示されます。
[ナビゲーターの] ダイアログには、次の表示オプションもあります。
- [選択された項目のみ]。 既定では、ナビゲーター はすべての項目を表示します。 このオプションは、選択した項目の最終的なセットを確認するのに役立ちます。 または、プレビュー領域で列名を選択して、選択した項目を表示することもできます。
- データ プレビューを有効にします。 この値が既定値であり、データ プレビューが表示されます。 プレビュー データを要求しなくなったサーバー呼び出しの数を減らすには、このオプションの選択を解除します。
- [技術名]。 SAP BW では、キューブ内のオブジェクトに ユーザー定義の
技術名がサポートされます。 キューブ所有者は、オブジェクトの物理名のみを公開するのではなく、キューブ オブジェクトに対してこれらのフレンドリ名を公開できます。
必要なすべてのオブジェクトを選択したら、次のいずれかのオプションを選択します。
- を読み込み、出力テーブルの行セット全体を Power BI Desktop データ モデルに読み込みます。 レポート ビューが開きます。 データの視覚化を開始するか、
テーブル ビューまたはモデル ビュー使用して、さらに変更を加えることができます。 - [データの変換] を選択すると、[Power Query エディター] が開いてデータが表示されます。 行のセット全体を Power BI Desktop データ モデルに取り込む前に、より多くのデータ変換とフィルター処理の手順を指定できます。
- を読み込み、出力テーブルの行セット全体を Power BI Desktop データ モデルに読み込みます。 レポート ビューが開きます。 データの視覚化を開始するか、
SAP BW キューブのデータと共に、Power BI Desktop で他のさまざまなデータ ソースからデータをインポートし、それらを 1 つのレポートに結合することもできます。 この機能は、SAP BW データに基づいてレポートと分析を行う多くの興味深いシナリオを示します。
SAP BW 実装 2.0 の新しいオプション
このセクションでは、SAP BW コネクタ実装 2.0 の機能と機能強化の一部を示します。 詳細については、「実装の詳細を参照してください。
詳細オプション
SAP BW 接続画面の
実行モード は、MDX インターフェイスがサーバーでクエリを実行する方法を指定します。 次のオプションが有効です。
- BasXml
- BasXmlGzip
- DataStream
既定値は BasXmlGzip
です。 このモードでは、低待機時間または大量のクエリのパフォーマンスを向上させることができます。 バッチ サイズ では、MDX ステートメントの実行時に一度に取得する行の最大数を指定します。 数が少ない場合は、大規模なセマンティック モデルを取得するときに、サーバーへの呼び出しが増えます。 値が大きいとパフォーマンスが向上する可能性がありますが、SAP BW サーバーでメモリの問題が発生する可能性があります。 既定値は 50000です。
特性構造を有効化、ナビゲーター の特性構造の表示方法が変更されます。 このオプションの既定値は false、またはオフです。 このオプションは、選択できるオブジェクトの一覧に影響し、ネイティブ クエリ モードではサポートされていません。
その他の機能強化
次の一覧では、実装 2.0 のその他の機能強化について説明します。
- パフォーマンスの向上。
- 数百万行のデータを取得し、バッチ サイズ パラメーターを使用して微調整する機能。
- 実行モードを切り替える機能。
- 圧縮モードのサポート。待機時間の長い接続や大規模なセマンティック モデルに特に役立ちます。
Date
変数の検出が改善されました。Date
(ABAP 型DATS
) およびTime
(ABAP 型TIMS
) ディメンションは、テキスト値ではなく日付と時刻として公開されます。 詳細については、「SAP BW の型指定された日付のサポート」を参照してください。- 例外処理の改善。 BAPI 呼び出しで発生したエラーが表示されるようになりました。
BasXml
モードとBasXmlGzip
モードでの列の折りたたみ。 たとえば、生成された MDX クエリで 40 個の列が取得され、現在の選択に必要な列が 10 個しかない場合、この要求はサーバーに渡され、より小さなセマンティック モデルが取得されます。
既存の実装 1.0 レポートを更新する
既存のレポートは、インポート モードでのみ実装 2.0 を使用するように変更できます。
Power BI Desktop の既存のレポートから、リボンの [データの変換] を選択し、更新する SAP Business Warehouse クエリを選択します。
クエリを右クリックし、[詳細エディター]
選択します。 詳細エディターで、
SapBusinessWarehouse.Cubes
の呼び出しを次のように変更します。次の例を参照として使用して、クエリにオプション レコードが既に含まれているかどうかを確認します。
その場合は、
[Implementation 2.0]
オプションを追加し、ScaleMeasures
オプションを削除します。手記
この実装では、
ScaleMeasures
オプションは非推奨です。 コネクタでは、常にスケーリングされていない値が表示されるようになりました。クエリにオプション レコードがまだ含まれていない場合は、追加します。 たとえば、次のエントリを変更します。
宛先:
手記
SAP BW コネクタの実装 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
と呼ばれる構造体を返します。この構造体には、Decimal Format Notation を次のいずれかの値として格納する DCPFM
というフィールドがあります。
' '
(スペース) = 小数点はコンマ: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 クエリの接続が必要
次の図に示すように、Release for External Access プロパティを有効にすると、Power BI Desktop で BEx クエリを実行できます。
ナビゲーターにデータ プレビューが表示されない
この問題では、Navigator はデータ プレビューを表示せず、代わりにオブジェクトのインスタンスに設定されていない オブジェクト参照 エラー メッセージを表示します。
SAP ユーザーは、メタデータを取得し、SAP BW の InfoProviders からデータを取得するために、次の特定の 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
にアクセスできるかどうかを確認します。
トレースを有効にする
これらの問題や同様の問題をさらにトラブルシューティングするには、トレースを有効にします。
- Power BI Desktop で、[ファイル]>[オプションと設定]>[オプション] の順に選択します。
- [オプション]で [診断]を選択し、[診断オプション]で [トレースを有効にする] を選択します。
- トレースがアクティブな状態で SAP BW からデータを取得し、トレース ファイルを調べて詳細を確認してください。
SAP BW 接続のサポート
次の表では、SAP BW に対する現在の Power BI サポートについて説明します。
製品 | モード | 認証 | コネクタ | SNC ライブラリ | サポート対象 |
---|---|---|---|---|---|
Power BI Desktop | どれでも | ユーザー/パスワード | アプリケーション サーバー | N/A | はい |
Power BI Desktop | 任意 | ウィンドウズ | アプリケーション サーバー | sapcrypto + gsskrb5/gx64krb5 | はい |
Power BI Desktop | 任意 | 借用による Windows | アプリケーション サーバー | sapcrypto + gsskrb5/gx64krb5 | はい |
Power BI Desktop | どれでも | ユーザー/パスワード | メッセージ サーバー | N/A | はい |
Power BI Desktop | 任意 | ウィンドウズ | メッセージ サーバー | sapcrypto + gsskrb5/gx64krb5 | はい |
Power BI Desktop | 任意 | 借用による Windows | メッセージ サーバー | sapcrypto + gsskrb5/gx64krb5 | はい |
Power BI ゲートウェイ | 輸入 | Power BI Desktop と同じ | |||
Power BI ゲートウェイ | ダイレクトクエリ | ユーザー/パスワード | アプリケーション サーバー | N/A | はい |
Power BI ゲートウェイ | DirectQuery | 偽装による Windows (固定ユーザー、SSO なし) | アプリケーション サーバー | sapcrypto + gsskrb5/gx64krb5 | はい |
Power BI ゲートウェイ | DirectQuery | [DirectQuery クエリに Kerberos 経由で SSO を使用する] オプション | アプリケーション サーバー | sapcrypto + gsskrb5/gx64krb5 | はい |
Power BI ゲートウェイ | ダイレクトクエリ | ユーザー/パスワード | メッセージ サーバー | N/A | はい |
Power BI ゲートウェイ | DirectQuery | 偽装による Windows (固定ユーザー、SSO なし) | メッセージ サーバー | sapcrypto + gsskrb5/gx64krb5 | はい |
Power BI ゲートウェイ | DirectQuery | [DirectQuery クエリに Kerberos 経由で SSO を使用する] オプション | メッセージ サーバー | gsskrb5/gx64krb5 | いいえ |
Power BI ゲートウェイ | DirectQuery | [DirectQuery クエリに Kerberos 経由で SSO を使用する] オプション | メッセージ サーバー | sapcrypto | はい |