分享方式:


Power BI 內嵌式分析中的問與答

Power BI 內嵌式分析為您提供一種將 Q&A 併入應用程式中的方法。 您的使用者可以使用自然語言詢問問題,並立即獲得圖表或圖形等視覺效果形式的解答。

Power BI Embedded 檢視的動畫 GIF,其中顯示了如何內嵌範例 Q&A 問題。

內嵌在應用程式中的問與答有兩種模式:互動式只產生結果互動式模式讓您輸入問題,並在視覺效果中顯示。 如想要顯示事先準備好的問題,您可以在內嵌組態中擴展問題,使用只產生結果模式。

以下是 JavaScript 程式碼的範例:

// Embed configuration used to describe the what and how to embed.
// This object is used when calling powerbi.embed within the JavaScript API.
// You can find more information at https://github.com/Microsoft/PowerBI-JavaScript/wiki/Embed-Configuration-Details.
var config= {
    type: 'qna',
    tokenType:   models.TokenType.Embed | models.TokenType.Aad,
    accessToken: access token value,
    embedUrl:    https://app.powerbi.com/qnaEmbed (groupId to be appended as query parameter if required),
    datasetIds:  array of requested data set ids (at the moment we support only one dataset),
    viewMode:    models.QnaMode.Interactive | models.QnaMode.ResultOnly,
    question:    optional parameter for Explore mode (QnaMode.Interactive) and mandatory for Render Result mode (QnaMode.ResultOnly)
};

// Get a reference to the embedded QNA HTML element
var qnaContainer = $('#qnaContainer')[0];

// Embed the QNA and display it within the div container.
var qna = powerbi.embed(qnaContainer, config);

事先準備好的問題

如果您將結果模式與一組問題一起使用,則可以將更多問題插入框架中。 新問題的解答會立即取代先前的結果。 符合新問題的新視覺效果隨即呈現。

常見問題集清單即是這種使用方式的一例。 使用者可以瀏覽問題,讓它們在相同的內嵌組件內獲得解答。

JS SDK 使用方式的程式碼片段:

// Get a reference to the embedded Q&A HTML element
var qnaContainer = $('#qnaContainer')[0];

// Get a reference to the embedded Q&A.
qna = powerbi.get(qnaContainer);

qna.setQuestion("This year sales")
    .then(function (result) {
        …….
    })
    .catch(function (errors) {
        …….
    });

視覺化呈現的事件

若為互動式模式,每次呈現的視覺效果以正在鍵入的更新輸入查詢為目標變更時,應用程式就會收到資料變更事件通知。

接聽 visualRendered 事件可讓您儲存問題以供之後使用。

JS SDK 使用方式的程式碼片段:

// Get a reference to the embedded Q&A HTML element
var qnaContainer = $('#qnaContainer')[0];

// Get a reference to the embedded Q&A.
qna = powerbi.get(qnaContainer);

// qna.off removes a given event listener if it exists.
qna.off("visualRendered");

// qna.on will add an event listener.
qna.on("visualRendered", function(event) {
     …….
});

內嵌的權杖

從語意模型建立內嵌權杖以開始 Q&A 部分。 如需詳細資訊,請參閱產生權杖作業

使用 JavaScript 內嵌範例嘗試 Q&A 內嵌

更多問題嗎? 詢問 Power BI 社群