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: 
yureshino
Product and Topic Expert
Product and Topic Expert

はじめに


今回はODataを利用してPowerBIからSAP Datasphereに接続する方法についてご紹介します!こちらのブログと、こちらのgit-hubリポジトリを使って、カスタムコネクタを設定します。特に今回は、PowerBIからDatasphereの分析モデルに接続する方法を具体的にご説明します。

Power BIのBlank Query(空のクエリ)を利用してOData経由でDatasphereに接続する場合はこちらのブログ(英語)をご覧下さい。
ODBCを利用してPowerBIをDatasphereに接続する場合はこちらのブログ(日本語)をご覧ください。

前提


MicrosoftのPCで実施しております。2024年1月時点での情報をお伝えします。

バージョン情報
SAP Datapshere 2024.1.59
PowerBI Desktop 2.123.742.0 64-bit

目次

    1. DatasphereでOAuthクライアントを作成
    2. カスタムコネクタのダウンロード、設定、デプロイ
    3. PowerBIで確認


ここから具体的な手順の紹介を行います。

1.DatasphereでOAuthクライアントを作成


①SAP Datasphereの左のメニューバーからシステム>管理を選択

②「アプリ統合」タブを開く

③OAuthクライアントの「+新規OAuthクライアントを追加」をクリック
※こちらのページのOAuth 権限URL, トークンURLは後半の設定で必要になります


④各項目を下記の通り入力し、「追加」ボタンを押します
名称:任意の名前(例:Power Bi OAuth Client)
目的:インタラクティブ用途
リダイレクトURI: https://oauth.powerbi.com/views/oauthredirect.html


⑤追加ボタンを押すと、クライアントIDとクライアントシークレットが自動的に作成されます。これらの情報は後ほどカスタム接続を作成するときに必要なです。

後ほどトークンや認証URLを確認する必要があるため、このページは開いたままにしておきます。

2.カスタムコネクタのダウンロード、設定、デプロイ


次に、カスタムコネクタを設定します。MS PowerBIクライアントはMS Windowsのみに対応しているため、Windows PCにて実行してください。

①カスタムコネクタをダウンロードします。こちらのgit-hubリポジトリの power-bi フォルダーに含まれているファイルをすべてダウンロードするか、git リポジトリのクローンを作成します。(今回はローカルPCにダウンロードする方法で行います。)

 


②ダウンロードしたファイルの一つ、connections.jsonファイルを開き、内容を下記の通りに編集します

[{

    "product":"DWC",

    "host": "<https://を除いたDatasphereホスト名>",



    "client_id": "<クライアントID>",

    "client_secret": "<クライアントシークレット>",



    "auth_token_url": "</oauth/tokenで終わるトークンURL>",

    "auth_authorize_url": "</oauth/authorizeで終わる権限URL>"

}]


下記の通り<>の部分を置き換えてください。

    • クライアントID:1-④で作成されたクライアントID
    • クライアントシークレット:1-④で作成されたクライアントシークレット
    • トークンURL:1-③ Datasphereのアプリ統合に記載されたトークンURL
    • 権限URL:1-③ Datasphereのアプリ統合に記載された権限URL

 


③コネクタを構築

power-biフォルダの中身を選択し、.zipファイルに圧縮します。ここでは例として「SAP_DSP_01.zip」というフォルダに圧縮します。フォルダ自体を圧縮するのではなく、フォルダの中身のみを圧縮することに注意してください。

作成したファイルの拡張子を*.zipから*.mezに変更します。「SAP_DSP_01.mez」というファイルが作成されました。

④コネクタのデプロイ

下記フォルダがあることを確認してください。存在しない場合は、フォルダを作成してください。

    • 「ドキュメント」フォルダを開く
    • 「Power BI Desktop」というフォルダを開く、ない場合は作成する
    • 「Custom Connectors」というフォルダを開く、ない場合は作成する


「SAP_DSP_01.mez」を「Custom Connectors」フォルダにコピーします。

(参考:私のディレクトリはC:\Users\****@***.com\Documents\Power BI Desktop\Custom Connectors となっています。)

3. PowerBIで確認


①PowerBIを起動します。セキュリティ設定がデフォルトの場合、下記ポップアップが表示されます。(下記ポップアップが表示されない場合は③へ進んでください)


②PowerBIのメニューからファイル>設定>オプションと設定>オプションを開きます。セキュリティの中にある「データ拡張機能」を「(非推奨)検証または警告せずに、あらゆる拡張機能の読み込みを許可する」を選択し、OKを押します。PowerBIを再起動します。


③問題なくPowerBIが起動されたら、データ取得>詳細を開きます


④リストでSAPを検索し、SAP Datasphereのコネクタを選択します。カタログから検索するSAP Datasphere - Catalogと、データアクセスの件数が無制限のSAP Datasphere - Dataがありますので用途に合わせて選択します。今回はDatasphereの特定の分析モデルに接続するため、SAP Datasphere - Dataを選択します。


⑤必要な情報を入力します。テナントURLはプルダウンから選択します。
下記表に従ってデータアクセスタイプを選択します。スペース名を入力し、参照したいビューの技術名を入力します。OKを押します。
インプットパラメータを利用する場合は、column1='value1',column2='value2' という形で記述してください。

ビューの種類 リレーショナルアクセス 分析アクセス

リレーショナルデータ×
分析データセット
分析モデル×

 


⑥サインインしていませんという画面が立ち上がったら、サインインボタンを押してDatasphereのサインイン情報を入力します。


⑦問題なく接続できればプレビューが表示できます。
※エラーが発生した場合は最後のヒントをご確認ください。



最後に


お疲れ様でした、これで手順は終了です。コネクタの最新情報などはgit-hubを参照してください。

 

ヒント

 

分析モデル:インターナルサーバーエラー
分析モデルの情報を入力して3-⑦でInternal Server Errorとなった場合は、Datasphereで分析モデルを再度デプロイしてください。

 

入力パラメータのヒント: エラー
3-⑦で「少なくとも 1 つのキー述語が必要ですが、見つかりませんでした」というエラーメッセージは、必須パラメータが欠落していることを示します。スペルをチェックするか、OData メタデータ定義で名前を確認してください。パラメータ定義の場所は EntityType を「 Name=<viewname>Parameters」 で検索してください。

 

入力パラメータのヒント:入力方法について
パラメータはエンティティ/ビュー自体に設定されます。パラメーターを使用する場合、3-④でSAP Datasphere - Data を選択し、パラメーターを追加してください。SAP Datasphere - Catalogの場合パラメータを入力できません。

注意
今回の方法ではビジネス名を抽出することはできません。技術名称が表示されることに注意してください。