Preguntas y respuestas en Power BI EmbeddedQ&A in Power BI Embedded

Power BI Embedded le ofrece una forma de incorporar preguntas y respuestas en una aplicación, y de permitir a los usuarios formular preguntas con lenguaje natural y recibir respuestas inmediatas en forma de objetos visuales como gráficos o grafos.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.

Preguntas interactivas de Preguntas y respuestas en un marco insertado

Existen dos modos de insertar preguntas y respuestas dentro de la aplicación: interactivo y solo resultados.There are two modes for embedding Q&A within your application: interactive and result only. El modo interactivo le permite escribir preguntas y hacer que se muestren en el objeto visual.Interactive mode allows you to type in questions and have them displayed within the visual. Si tiene una pregunta guardada o una pregunta establecida que desea mostrar, puede usar el modo solo resultados rellenando la pregunta en la configuración de inserción.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.

Este es el aspecto que tendrá el código de JavaScript.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);

Pregunta establecidaSet question

Si ha usado el modo de resultados con una pregunta establecida, puede insertar preguntas adicionales en el marco y recibir una respuesta inmediata a ellas sustituyendo el resultado anterior.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. Se representa un nuevo objeto visual que se corresponde con la nueva pregunta.A new visual is rendered matching the new question.

Un ejemplo de este uso sería una lista de las preguntas más frecuentes.One example of this usage would be a frequently asked question list. El usuario puede recorrer las preguntas y recibir la respuesta a ellas en el mismo elemento insertado.The user could go through the questions and have them answered within the same embedded part.

Fragmento de código para el uso del SDK de JS: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) {
        …….
    });

Evento representado en un objeto visualVisual rendered event

En el modo interactivo, se puede notificar a la aplicación con un evento de cambio de datos cada vez que el objeto visual representado cambia para reflejar la consulta de entrada actualizada a medida que esta se escribe.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.

Si escucha el evento visualRendered, esto le permite guardar las preguntas para su uso posterior.Listening to the visualRendered event allows you to save questions for use later.

Fragmento de código para el uso del SDK de JS: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) {
     …….
});

Token de inserciónEmbed token

Cree un token de inserción fuera de un conjunto de datos para iniciar un elemento de preguntas y respuestas.Create an embed token off of a dataset to start a Q&A part. Para más información, consulte Generate token for Q&A (Generación de un token para preguntas y respuestas).For more information, see Generate token for Q&A.

Pasos siguientesNext steps

Para probar la inserción de preguntas y respuestas, consulte el ejemplo de inserción de JavaScript.To give Q&A embedding a try, check out the JavaScript embed sample.

¿Tiene más preguntas?More questions? Pruebe a preguntar a la comunidad de Power BITry asking the Power BI Community