Share via


Q&A i Inbäddad Power BI-analys

Med Power BI Embedded-analys kan du införliva Q&A i ett program. Användarna kan ställa frågor med naturligt språk och få omedelbara svar i form av visuella objekt som diagram eller grafer.

Animated GIF of the Power BI Embedded view, which shows how to embed a sample Q&A question.

Det finns två lägen för inbäddning av Q&A i ditt program: endast interaktivt och resultat. Med interaktivt läge kan du skriva in frågor och låta dem visas i det visuella objektet. Om du har en sparad fråga eller en ställd fråga som du vill visa kan du använda läget endast resultat genom att fylla i frågan i inbäddningskonfigurationen.

Här är ett exempel på JavaScript-koden:

// 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);

Ställ in fråga

Om du använder resultatläge med en inställd fråga kan du mata in fler frågor i ramen. Svaret på den nya frågan ersätter omedelbart det tidigare resultatet. Ett nytt visuellt objekt återges som matchar den nya frågan.

Ett exempel på den här användningen skulle vara en lista med vanliga frågor. Användaren kan gå igenom frågorna och få dem besvarade inom samma inbäddade del.

Kodfragment för JS SDK-användning:

// 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) {
        …….
    });

Visuell renderad händelse

För interaktivt läge kan programmet meddelas med en data ändrad händelse varje gång de renderade visuella ändringarna riktas mot den uppdaterade indatafrågan när den skrivs.

Om du lyssnar på händelsen visualRendered kan du spara frågor för användning senare.

Kodfragment för JS SDK-användning:

// 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) {
     …….
});

Bädda in token

Skapa en inbäddningstoken från en semantisk modell för att starta en Q&A-del. Mer information finns i åtgärden för att generera token.

Prova Q&A-inbäddning med JavaScript-inbäddningsexemplet

Har du fler frågor? Fråga Power BI Community