Динамическая привязка наборов данных к отчету с разбивкой на страницы

Отчеты 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 не может быть пустым. Он должен содержать , datasetIdpaginatedReportBindingsили оба.
  • Значения для datasetId и targetDatasetId не должны совпадать. Привязка работает независимо для PBIX-отчетов и отчетов с разбивкой на страницы.
  • Свойство datasetBinding может содержать несколько объектов.

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