私のアプリケーションでは、Power BI レポートを表示しています。既に動作しているため、レポートを ID (guid) で表示しても問題ありません。
ただし、たとえば、現在の年やレポートを表示する人など、パラメーター化する必要があるレポートがいくつかあります。それが私の質問です:どうやってそれを行うのですか?
具体的には、HTML<iframe>
要素内にレポートを埋め込んでいます。iframe URL は、レポート定義からembedUrl
受け取った (REST API から受け取った) URL に設定します。を呼び出す JavaScript コードで制御していますpostMessage()
。
レポートの定義:
{
"id":"12345678-6418-4b47-ac7c-f8ac7791a0aa",
"name":"Retail Analysis Sample",
"webUrl":"https://app.powerbi.com/reports/12345678-6418-4b47-ac7c-f8ac7791a0aa",
"embedUrl":"https://app.powerbi.com/reportEmbed?reportId=12345678-6418-4b47-ac7c-f8ac7791a0aa"
}
レポートをロードする JavaScript コード:
function onFrameLoaded() {
var m = {
action: "loadReport",
reportId: reportId,
accessToken: accessToken
};
iframe.contentWindow.postMessage(JSON.stringify(m), "*");
}
ここで、カスタム アプリケーションからのパラメーターでレポートをフィルター処理するためにフィードします。レポートでデータセットをフィルター処理するために値を送信または渡す方法はありますか?