27

私のアプリケーションでは、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), "*");
}

ここで、カスタム アプリケーションからのパラメーターでレポートをフィルター処理するためにフィードします。レポートでデータセットをフィルター処理するために値を送信または渡す方法はありますか?

4

2 に答える 2

8

Microsoft は、1 つのフィルターを適用するだけでなく、さらに多くのことができる powerbi-client を作成しました。フィルターはいくつでも適用でき、デフォルト ページ、デフォルト フィルター、フィルター ペインの非表示、ページ ナビゲーションの非表示などを選択することもできます。

ここでクライアントを見つけることができます: https://microsoft.github.io/PowerBI-JavaScript/

デモ アプリケーションは次のとおりです: https://microsoft.github.io/PowerBI-JavaScript/demo/index.html

ドキュメントは次のとおりです: https://github.com/Microsoft/PowerBI-JavaScript/wiki

于 2016-10-10T11:37:40.960 に答える