P e R no Power BI EmbeddedQ&A in Power BI Embedded

O Power BI Embedded oferece uma maneira de incorporar P e R em um aplicativo e permitir que os usuários façam perguntas usando um idioma natural e recebam respostas imediatas na forma de visuais como gráficos ou 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.

Pergunta interativa de P e R em um quadro inserido

Há dois modos de inserir P e R dentro do seu aplicativo: interativa e apenas resultados.There are two modes for embedding Q&A within your application: interactive and result only. O modo interativo permite que você digite perguntas e as faça ser exibidas no visual.Interactive mode allows you to type in questions and have them displayed within the visual. Se você tiver uma pergunta salva ou uma pergunta de conjunto que deseja exibir, será possível usar o modo apenas resultados preenchendo a pergunta na configuração de inserção.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.

Veja a aparência do código 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);

Pergunta de conjuntoSet question

Se você usou o modo de resultados com uma pergunta de conjunto, é possível injetar mais perguntas no quadro e receber imediatamente as respostas delas substituindo o 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. Um novo visual é renderizado, correspondendo à nova pergunta.A new visual is rendered matching the new question.

Um exemplo dessa utilização seria uma lista de perguntas frequentes.One example of this usage would be a frequently asked question list. O usuário poderia percorrer as perguntas e receber as respostas delas dentro da mesma parte inserida.The user could go through the questions and have them answered within the same embedded part.

Trecho de código para uso do SDK do 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 renderizado pelo visualVisual rendered event

Para o modo interativo, o aplicativo pode ser notificado com um evento de alteração de dados cada vez que o visual renderizado é alterado para direcionar a consulta de entrada atualizada enquanto ela é digitada.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.

Escutar o evento visualRendered permite salvar perguntas para uso posterior.Listening to the visualRendered event allows you to save questions for use later.

Trecho de código para uso do SDK do 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 inserçãoEmbed token

Crie um token de inserção de um conjunto de dados para iniciar uma parte de P e R.Create an embed token off of a dataset to start a Q&A part. Para obter mais informações, consulte Generate token for Q&A (Gerar token para P e R).For more information, see Generate token for Q&A.

Próximas etapasNext steps

Para experimentar a inserção de P e R, confira o exemplo de inserção do JavaScript.To give Q&A embedding a try, check out the JavaScript embed sample.

Mais perguntas?More questions? Experimente perguntar à Comunidade do Power BITry asking the Power BI Community