Вопросы и ответы в Power BI EmbeddedQ&A in Power BI Embedded

Power BI Embedded позволяет встроить функцию "Вопросы и ответы" в приложение, с помощью которого пользователи могут задавать вопросы на естественном языке и сразу же получать ответы в виде таких визуальных элементов, как диаграммы и графики.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.

Вопросы и ответы: интерактивный вопрос во внедренном окне

Вы можете внедрить в приложение функцию "Вопросы и ответы" в интерактивном режиме и режиме вывода результатов.There are two modes for embedding Q&A within your application: interactive and result only. В интерактивном режиме вы вводите вопросы, и они отображаются в визуальном элементе.Interactive mode allows you to type in questions and have them displayed within the visual. Если у вас есть сохраненный или заданный вопрос для отображения, используйте режим вывода результатов, введя вопрос во внедренную конфигурацию.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.

Код 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);

Заданный вопросSet question

При использовании с заданным вопросом режима вывода результатов вы можете вводить дополнительные вопросы в окно и сразу же получать ответы, которые замещают предыдущий результат.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. На экране появится новый визуальный элемент с ответом на вопрос.A new visual is rendered matching the new question.

Примером этого может быть список вопросов и ответов.One example of this usage would be a frequently asked question list. Пользователь может переходить между вопросами и получать ответы в той же внедренной части.The user could go through the questions and have them answered within the same embedded part.

Фрагмент кода с примером использования пакета SDK для 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) {
        …….
    });

Событие отображенного визуального элементаVisual rendered event

В интерактивном режиме приложение может получать уведомления о событии изменения данных каждый раз, когда отображаемый визуальный элемент меняется в соответствии с вводимым обновленным входящим запросом.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.

Прослушивание события visualRendered позволяет сохранять вопросы для последующего использования.Listening to the visualRendered event allows you to save questions for use later.

Фрагмент кода с примером использования пакета SDK для 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) {
     …….
});

Токен внедренияEmbed token

Создайте токен внедрения набора данных для запуска функции "Вопросы и ответы".Create an embed token off of a dataset to start a Q&A part. Дополнительные сведения см. в инструкциях по созданию токена для функции "Вопросы и ответы".For more information, see Generate token for Q&A.

Дальнейшие действияNext steps

Чтобы попробовать внедрить компонент "Вопросы и ответы", воспользуйтесь примером внедрения на JavaScript.To give Q&A embedding a try, check out the JavaScript embed sample.

Появились дополнительные вопросы?More questions? Попробуйте задать вопрос в сообществе Power BI.Try asking the Power BI Community