Incorporer un visuel Q&A autonome
Conseil
Essayez d’incorporer un Q&A ou testez nos API clientes dans la section Explorer nos API du terrain de jeu Power BI Embedded Analytics.
Cet article décrit les étapes d’incorporation d’un visuel Q&A autonome dans votre application.
Cette fonctionnalité permet aux utilisateurs de poser des questions. Ils reçoivent ensuite des réponses immédiates sous la forme de visuels tels que des graphiques ou des graphiques. Pour en savoir plus sur cette fonctionnalité, consultez Créer un visuel Q&A dans Power BI.
Comment incorporer Q&A
Lorsque vous incorporez du contenu Power BI dans une application, vous utilisez un objet de configuration pour définir le contenu que vous incorporez et pour spécifier les paramètres du contenu. Ensuite, vous passez cet objet à l’API.
Lorsque vous incorporez Q&A, utilisez un objet de configuration de type ILoadQnaConfiguration :
interface ILoadQnaConfiguration {
accessToken: string;
datasetIds: string[];
embedUrl: string;
question?: string;
tokenType?: models.TokenType;
type: string;
viewMode?: models.QnaMode;
}
Cette interface contient les propriétés suivantes :
accessToken
- Jeton qui vous donne accès aux données Power BI que vous incorporez. Consultez Comprendre les différentes solutions d’incorporation pour en savoir plus sur les jetons d’accès.datasetIds
- ID des jeux de données qui définissent les schémas de données que le Q&A incorporé utilise. Vous pouvez utiliser une API Datasets pour obtenir les jeux de données. En voici deux exemples:- Jeux de données - Obtenir un jeu de données dans le groupe
- Jeux de données - Obtenir des jeux de données dans le groupe
Notes
Actuellement, vous ne pouvez configurer qu’un seul jeu de données.
embedUrl
- URL du jeu de données pour le Q&A que vous incorporez. Cette URL devient la source de l’élément HTMLiframe
qui contient le Q&A incorporé. Plus précisément, l’API affecte l’URL à l’attributsrc
duiframe
. Vous pouvez utiliser une API Datasets pour obtenir cette URL. En voici deux exemples:question
- Question qui détermine la visualisation affichée par l’API. Cette propriété est utilisée uniquement en mode résultat.tokenType
- Type de jeton qui vous donne accès aux données Power BI que vous incorporez.- Utilisez
models.TokenType.Aad
si vous incorporez pour votre organization (l’utilisateur est propriétaire des données). - Utilisez
models.TokenType.Embed
si vous incorporez pour vos clients (l’application est propriétaire des données).
Pour plus d’informations, consultez Comprendre les différentes solutions d’incorporation .
- Utilisez
type
- Type de contenu que vous incorporez. Utilisez'qna'
pour Q&R.viewMode
- Mode du Q&A incorporé. Deux modes sont disponibles :Interactive
- L’utilisateur peut entrer des questions. L’API affiche les questions et met à jour le visuel en conséquence.ResultOnly
Vous fournissez une question spécifique. L’API affiche cette question et son visuel.
Cet exemple montre comment incorporer Q&A :
// 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);
Modifier la question affichée
Si vous utilisez un viewMode
de ResultOnly
et fournissez une question, vous pouvez utiliser la setQuestion
méthode pour modifier la question affichée. L’API modifie ensuite le visuel affiché.
Vous pouvez utiliser cette méthode pour obtenir une liste de questions fréquemment posées. À mesure que l’utilisateur passe en revue les questions, vous pouvez afficher les réponses dans l’élément incorporé.
La classe Qna JavaScript PowerBI définit la setQuestion
méthode comme suit :
setQuestion(question: string): Promise<void>
Le question
paramètre contient une question au format texte.
Cet exemple montre comment utiliser cette méthode pour modifier la question affichée :
// 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");
Capturer les questions de vos utilisateurs
Si vous utilisez un viewMode
de Interactive
, l’API peut notifier votre application lorsque le visuel affiché change. Chaque fois que le visuel change en réponse à une requête d’entrée mise à jour, le composant incorporé émet un visualRendered
événement. Si votre application écoute ce type d’événement, votre code peut répondre à la nouvelle requête.
Par instance, vous pouvez enregistrer les questions que les utilisateurs entrent. Vous pouvez utiliser ces questions ultérieurement, à des fins d’IA ou de télémétrie.
Utilisez du code comme ces lignes pour écouter visualRendered
les événements :
qna.on("visualRendered", function(event) {
...
});
Pour plus d’informations sur l’écoute des événements, consultez Comment gérer les événements .
Limites
Le Q&A incorporé utilise des schémas de données. Actuellement, vous ne pouvez configurer qu’un seul schéma, pas plusieurs schémas.