今回は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
ここから具体的な手順の紹介を行います。
①SAP Datasphereの左のメニューバーからシステム>管理を選択
②「アプリ統合」タブを開く
③OAuthクライアントの「+新規OAuthクライアントを追加」をクリック
※こちらのページのOAuth 権限URL, トークンURLは後半の設定で必要になります
④各項目を下記の通り入力し、「追加」ボタンを押します
名称:任意の名前(例:Power Bi OAuth Client)
目的:インタラクティブ用途
リダイレクトURI: https://oauth.powerbi.com/views/oauthredirect.html
⑤追加ボタンを押すと、クライアントIDとクライアントシークレットが自動的に作成されます。これらの情報は後ほどカスタム接続を作成するときに必要なです。
後ほどトークンや認証URLを確認する必要があるため、このページは開いたままにしておきます。
次に、カスタムコネクタを設定します。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>"
}]
下記の通り<>の部分を置き換えてください。
③コネクタを構築
power-biフォルダの中身を選択し、.zipファイルに圧縮します。ここでは例として「SAP_DSP_01.zip」というフォルダに圧縮します。フォルダ自体を圧縮するのではなく、フォルダの中身のみを圧縮することに注意してください。
作成したファイルの拡張子を*.zipから*.mezに変更します。「SAP_DSP_01.mez」というファイルが作成されました。
④コネクタのデプロイ
下記フォルダがあることを確認してください。存在しない場合は、フォルダを作成してください。
「SAP_DSP_01.mez」を「Custom Connectors」フォルダにコピーします。
(参考:私のディレクトリはC:\Users\****@***.com\Documents\Power BI Desktop\Custom Connectors となっています。)
①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の場合パラメータを入力できません。