Q&A in Power BI EmbeddedQ&A in Power BI Embedded

Power BI Embedded bietet Ihnen eine Möglichkeit, Q&A in eine Anwendung zu integrieren, sodass Ihre Benutzer Fragen in natürlicher Sprache stellen können und sofort Antworten in Form von Visuals wie Diagrammen oder Graphs erhalten.Power BI Embedded offers you a way to incorporate Q&A into an application and allow your users to ask questions using natural language and receive immediate answers in the form of visuals like charts or graphs.

Interaktive Q&A-Frage in einem eingebetteten Rahmen

Es gibt zwei Modi für das Einbetten von Q&A in die Anwendung: interaktiv und auf Ergebnisse beschränkt.There are two modes for embedding Q&A within your application: interactive and result only. Im interaktiven Modus können Sie Fragen eingeben und diese innerhalb der Visuals anzeigen lassen.Interactive mode allows you to type in questions and have them displayed within the visual. Wenn Sie über eine gespeicherte Frage oder eine festgelegte Frage verfügen, die angezeigt werden soll, können Sie den auf Ergebnisse beschränkten Modus verwenden, um die Frage in Ihre Einbettungskonfiguration einzugeben.If you have a saved question, or a set question you want to display, you can use the result only mode by populating the question in your embed config.

Im Folgenden wird der JavaScript-Code veranschaulicht.Here is a look at what the JavaScript code will look like.

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

Festgelegte FrageSet question

Wenn Sie den Ergebnismodus mit einer festgelegten Frage verwendet haben, können Sie weitere Fragen in den Rahmen einfügen und sofort beantworten lassen, wobei das vorherige Ergebnis ersetzt wird.If you used result mode with a set question, you can inject additional questions into the frame and have them immediately answered replacing the previous result. Ein neues Visual wird für die neue Frage gerendert.A new visual is rendered matching the new question.

Ein Beispiel für eine solche Verwendung ist eine Liste mit häufig gestellten Fragen.One example of this usage would be a frequently asked question list. Der Benutzer kann die Fragen durcharbeiten und die Antworten im selben eingebetteten Teil erhalten.The user could go through the questions and have them answered within the same embedded part.

Codeausschnitt für JS-SDK-Verwendung:Code snippet for JS SDK usage:

// 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-EreignisVisual rendered event

Für den interaktiven Modus kann die Anwendung mit einem Datenänderungsereignis benachrichtigt werden, wenn sich das gerenderte Visual ändert, um auf die aktualisierte Eingabeabfrage während ihrer Eingabe zu verweisen.For interactive mode, the application can be notified with a data changed event each time the rendered visual changes to target the updated input query as it is being typed.

Durch Überwachen des visualRendered-Ereignisses können Sie Fragen für die spätere Verwendung speichern.Listening to the visualRendered event allows you to save questions for use later.

Codeausschnitt für JS-SDK-Verwendung:Code snippet for JS SDK usage:

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

EinbettungstokenEmbed token

Erstellen Sie ein Einbettungstoken aus einem Dataset, um ein Q&A-Teil zu starten.Create an embed token off of a dataset to start a Q&A part. Weitere Informationen finden Sie unter Generieren eines Tokens für Q&A.For more information, see Generate token for Q&A.

Nächste SchritteNext steps

Um sich mit der Q&A-Einbettung vertraut zu machen, sehen Sie sich das JavaScript-Einbettungsbeispiel an.To give Q&A embedding a try, check out the JavaScript embed sample.

Weitere Fragen?More questions? Stellen Sie Ihre Frage in der Power BI-Community.Try asking the Power BI Community