Einbetten eines eigenständigen Q&A-Visuals

Tipp

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

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

Dieses Feature bietet Benutzern die Möglichkeit, Fragen zu stellen. Sie erhalten dann sofortige Antworten in Form von Visuals wie Diagrammen oder Graphen. Weitere Informationen zu diesem Feature finden Sie unter Erstellen eines Q-&-Visuals in Power BI.

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

Einbetten von Q&A

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

Verwenden Sie beim Einbetten von Q&A 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, das Ihnen Zugriff auf die Power BI-Daten ermöglicht, 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:

    Hinweis

    Derzeit können Sie nur ein Dataset konfigurieren.

  • embedUrl – Die URL des Datasets für die Q-&A, die Sie einbetten. Diese URL wird zur Quelle des HTML-Elements iframe , 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:

  • question – Die Frage, die die Visualisierung bestimmt, die von der API angezeigt wird. 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 diese Option, wenn Sie für Ihre organization einbetten (der Benutzer besitzt die Daten).
    • Verwenden Sie models.TokenType.Embed , wenn Sie für Ihre Kunden einbetten (die App besitzt die Daten).

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

  • type – Die Art von Inhalten, 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 Visual entsprechend.
    • ResultOnly Sie stellen eine bestimmte Frage. Die API zeigt diese Frage und ihr Visuelles 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 angeben, können Sie die setQuestion -Methode verwenden, um die angezeigte Frage zu ändern. Die API ändert dann das angezeigte Visual.

Sie können diese Methode für eine Liste mit 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 question Parameter 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 einen viewMode von Interactiveverwenden, kann die API Ihre App benachrichtigen, wenn sich das angezeigte Visuelle ändert. Wenn sich das Visual als Reaktion auf eine aktualisierte Eingabeabfrage ändert, gibt die eingebettete Komponente ein Ereignis aus visualRendered . Wenn Ihre App auf diesen Ereignistyp lauscht, kann Ihr Code auf die neue Abfrage reagieren.

Für instance können Sie die Von Benutzern eingegebenen Fragen aufzeichnen. Sie können diese Fragen später für KI- oder Telemetriezwecke verwenden.

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

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

Weitere Informationen zum Lauschen von Ereignissen finden Sie unter Behandeln von Ereignissen .

Einschränkungen

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

Nächste Schritte