Freigeben über


Einbetten eines eigenständigen Q-&A-Elements

Trinkgeld

Versuchen Sie, eine Q-&A einzubetten oder mit unseren Client-APIs im Abschnitt Erkunden sie unsere APIs Abschnitt des Power BI Embedded Analytics Playground.

In diesem Artikel werden die Schritte zum Einbetten eines eigenständigen Q-&A-Visuelles in Ihre Anwendung behandelt.

Dieses Feature bietet Benutzern die Möglichkeit, Fragen zu stellen. Sie erhalten dann sofortige Antworten in Form von visuellen Elementen wie Diagrammen oder Diagrammen. Erfahren Sie mehr über dieses Feature in Erstellen eines Q-&Ein visuelles Element in Power BI.

Animiertes Bild, das die eingebettete Q- und A-Funktion zeigt. Wenn ein Benutzer die Frage ändert, ändert sich die visuellen Daten.

So betten Sie Q&A ein

Wenn Sie Power BI-Inhalte in eine App einbetten, verwenden Sie ein Konfigurationsobjekt, um den Inhalt zu definieren, den Sie einbetten, und um die Einstellungen des Inhalts anzugeben. Anschließend übergeben Sie dieses Objekt an die API.

Wenn Sie Q&A einbetten, verwenden Sie ein Konfigurationsobjekt vom Typ ILoadQnaConfiguration:

interface ILoadQnaConfiguration {
    accessToken: string;
    datasetIds: string[];
    embedUrl: string;
    question?: string; 
    tokenType?: models.TokenType;
    type: string;
    viewMode?: models.QnaMode;
}

Diese Schnittstelle enthält die folgenden Eigenschaften:

  • accessToken – Das Token, mit dem Sie Zugriff auf die Power BI-Daten erhalten, die Sie einbetten. Weitere Informationen zu Zugriffstoken finden Sie unter Grundlegendes zu den verschiedenen Einbettungslösungen.

  • datasetIds – Die IDs der Datasets, die die Datenschemas definieren, die vom eingebetteten Q-&A verwendet werden. Sie können eine Datasets-API- verwenden, um die Datasets abzurufen. Zwei Beispiele sind:

    Anmerkung

    Derzeit können Sie nur ein Dataset konfigurieren.

  • embedUrl – Die URL des Datasets für das Q&A, das Sie einbetten. Diese URL wird zur Quelle des HTML-iframe-Elements, das das eingebettete Q-&A enthält. Insbesondere weist die API die URL dem src Attribut des iframezu. Sie können eine Datasets-API- verwenden, um diese URL abzurufen. Zwei Beispiele sind:

  • question – Die Frage, die die Visualisierung bestimmt, die die API anzeigt. Diese Eigenschaft wird nur im Ergebnismodus verwendet.

  • tokenType – Die Art des Tokens, das Ihnen Zugriff auf die Power BI-Daten ermöglicht, die Sie einbetten.

    • Verwenden Sie models.TokenType.Aad, wenn Sie ihre Organisation einbetten (der Benutzer besitzt die Daten).
    • Verwenden Sie models.TokenType.Embed, wenn Sie ihre Kunden einbetten (die App besitzt die Daten).

    Weitere Informationen finden Sie unter Grundlegendes zu den verschiedenen Einbettungslösungen.

  • type – Die Art der Inhalte, die Sie einbetten. Verwenden Sie 'qna' für Q&A.

  • viewMode – Der Modus des eingebetteten Q-&A. Es stehen zwei Modi zur Verfügung:

    • Interactive – Der Benutzer kann Fragen eingeben. Die API zeigt die Fragen an und aktualisiert das visuelle Element entsprechend.
    • ResultOnly Geben Sie eine bestimmte Frage an. Die API zeigt diese Frage und das visuelle Element an.

In diesem Beispiel wird gezeigt, wie Sie Q&A einbetten:

// Set up the configuration object that determines what to embed and how to embed it.
let embedConfiguration = {
    accessToken: anAccessToken,
    datasetIds: [aDatasetID],
    embedUrl: anEmbedUrl,
    question: aTextQuestion,
    tokenType: aTokenType,
    type: 'qna',
    viewMode: QnaMode.ResultOnly
};
 
// Get a reference to the HTML element that contains the embedded Q&A.
let embedContainer = $('#embedContainer')[0];
 
// Embed the Q&A.
let visual = powerbi.embed(embedContainer, embedConfiguration);

Ändern der angezeigten Frage

Wenn Sie eine viewMode von ResultOnly verwenden und eine Frage bereitstellen, können Sie die setQuestion Methode verwenden, um die angezeigte Frage zu ändern. Die API ändert dann das angezeigte visuelle Element.

Sie können diese Methode für eine Liste der häufig gestellten Fragen verwenden. Während der Benutzer die Fragen durchläuft, können Sie die Antworten innerhalb des eingebetteten Elements anzeigen.

Die PowerBI JavaScript-Qna-Klasse definiert die setQuestion Methode wie:

setQuestion(question: string): Promise<void>

Der parameter question enthält eine Frage im Textformat.

In diesem Beispiel wird gezeigt, wie Sie diese Methode verwenden, um die angezeigte Frage zu ändern:

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

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

// Change the displayed question.
await qna.setQuestion("This year sales");

Erfassen der Fragen Ihrer Benutzer

Wenn Sie eine viewMode von Interactiveverwenden, kann die API Ihre App benachrichtigen, wenn sich die angezeigten visuellen Änderungen ändern. Wenn sich die visuellen Änderungen als Reaktion auf eine aktualisierte Eingabeabfrage ändern, gibt die eingebettete Komponente ein visualRendered Ereignis aus. Wenn Ihre App auf diese Art von Ereignis lauscht, kann Ihr Code auf die neue Abfrage reagieren.

Sie können beispielsweise die Fragen aufzeichnen, die Benutzer eingeben. Sie können diese Fragen später für KI- oder Telemetriezwecke verwenden.

Verwenden Sie Code wie diese Zeilen, um visualRendered Ereignisse zu überwachen:

qna.on("visualRendered", function(event) {
    ...
});

Weitere Informationen zum Überwachen von Ereignissen finden Sie unter Behandeln von Ereignissen.

Überlegungen und Einschränkungen

Das eingebettete Q&A verwendet Datenschemas. Derzeit können Sie nur ein Schema und nicht mehrere Schemas konfigurieren.