Поделиться через


Вопросы и ответы в встроенной аналитике Power BI

Встроенная аналитика Power BI предлагает способ внедрения Q&A в приложение. Пользователи могут задавать вопросы с помощью естественного языка и получать немедленные ответы в виде визуальных элементов, таких как диаграммы или графы.

Animated GIF of the Power BI Embedded view, which shows how to embed a sample Q&A question.

Существует два режима внедрения Q&A в приложении: только интерактивный и результат. Интерактивный режим позволяет вводить вопросы и отображать их в визуальном элементе. Если у вас есть сохраненный вопрос или заданный вопрос, который вы хотите отобразить, можно использовать только режим результата, заполнив вопрос в конфигурации внедрения.

Ниже приведен пример кода JavaScript:

// 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);

Задать вопрос

Если вы используете режим результатов с заданным вопросом, вы можете вставить дополнительные вопросы в кадр. Ответ на новый вопрос сразу же заменит предыдущий результат. Новый визуальный элемент отображается в соответствии с новым вопросом.

Одним из примеров этого использования будет часто задаваемый список вопросов. Пользователь может пройти через вопросы и ответить на них в той же внедренной части.

Фрагмент кода для использования пакета SDK JS:

// 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) {
        …….
    });

Визуальная отрисовка события

В интерактивном режиме приложение может получать уведомления с помощью события изменения данных при каждом отображении визуальных изменений, предназначенных для обновленного входного запроса по мере ввода.

Прослушивание события visualRendered позволяет сохранять вопросы для последующего использования.

Фрагмент кода для использования пакета SDK JS:

// 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) {
     …….
});

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

Создайте маркер внедрения из семантической модели, чтобы запустить часть Q&A. Дополнительные сведения см. в операции создания маркеров.

Попробуйте внедрить Q&A с помощью примера внедрения JavaScript

Есть еще вопросы? Спросите Сообщество Power BI