Динамическое связывание наборов данных с отчетом с разбивкой на страницы
Отчеты Power BI и отчеты с разбивкой на страницы создаются на основе существующего набора данных. Этот набор данных определяет схему данных, используемую визуальными элементами отчета. С помощью динамической привязки можно выбрать набор данных во время внедрения визуального элемента отчета с разбивкой на страницы.
Наборы данных, которые вы выбрали, должны использовать ту же схему данных. Если у вас несколько наборов данных с одной схемой данных, отчет может подключаться или привязывать динамически к каждому из этих наборов данных. Затем вы можете отобразить различные аналитические сведения в зависимости от ваших потребностей.
Динамическая привязка также предлагает другие преимущества. Вам не нужно создавать копию одного отчета с различным набором данных для каждого пользователя. Один отчет может служить нескольким пользователям. Эта функция уменьшает количество поддерживаемых элементов и улучшает обработку жизненного цикла приложения. В результате динамическая привязка упрощает подключение для новых клиентов.
Динамическое подключение отчета к нескольким наборам данных
Отчеты и наборы данных могут находиться в отдельных рабочих областях , однако обе рабочие области должны иметь емкость.
При внедрении для клиентов маркер внедрения должен включать разрешения как для отчета, так и для динамического привязанного набора данных. Используйте новый API для создания маркера внедрения, который поддерживает элементы Power BI, такие как отчеты и панели мониторинга.
При внедрении для вашей организации маркер Azure Active Directory (AD), используемый пользователем, должен иметь соответствующие разрешения для всех элементов Power BI.
Пример 1. Внедрение отчета с разбивкой на страницы с динамической привязкой
Чтобы реализовать внедренный отчет с разбивкой на страницы с помощью динамической привязки, добавьте свойство datasetBindings
в объект конфигурации внедрения, как показано в следующем примере.
let config = {
type: 'report',
tokenType: models.TokenType.Embed,
accessToken: accessToken,
embedUrl: embedUrl,
id: "reportId",
permissions: permissions,
datasetBindings: [{
sourceDatasetId: "originalDatasetId",
targetDatasetId: "notOriginalDatasetId"
}]
};
// Get a reference to the embedded report HTML element.
let embedContainer = $('#embedContainer')[0];
// Embed the report and display it within the div container.
let report = powerbi.embed(embedContainer, config);
Пример 2. Внедрение визуального элемента отчета с разбивкой на страницы с динамической привязкой
Визуальный элемент отчета с разбивкой на страницы — это отчет с разбивкой на страницы, внедренный в отчет Power BI. Чтобы реализовать внедренный визуальный элемент отчета с разбивкой на страницы с помощью динамической привязки, добавьте свойство datasetBinding
в объект конфигурации внедрения, как показано в следующем примере.
let config = {
type: 'report',
tokenType: models.TokenType.Embed,
accessToken: accessToken,
embedUrl: embedUrl,
id: "reportId",
permissions: permissions,
datasetBinding: {
datasetId: "notOriginalDatasetId",
paginatedReportBindings: [{
sourceDatasetId: "originalDatasetId",
targetDatasetId: "notOriginalDatasetId"
}]
}
};
// Get a reference to the embedded report HTML element.
let embedContainer = $('#embedContainer')[0];
// Embed the report and display it within the div container.
let report = powerbi.embed(embedContainer, config);
Рекомендации и ограничения
- Динамически выбранный набор данных должен использовать ту же схему данных в отчете.
- При внедрении для клиентов создайте маркер внедрения с помощью нового API.
- При внедрении для организации убедитесь, что у пользователя есть разрешения как для отчета, так и для набора данных.
- Свойство
datasetBinding
не может быть пустым. Он должен содержать,datasetId
,paginatedReportBindings
или обоих. - Значения
datasetId
иtargetDatasetId
не должны совпадать. Привязка работает независимо для PBIX и отчетов с разбивкой на страницы. - Свойство
datasetBinding
может содержать несколько объектов.