Внедрение отчета на страницу
Совет
Попробуйте внедрить отчет с разбивкой на страницы или поэкспериментируйте с нашими клиентскими API в разделе Изучение api на тестовой площадке Power BI Embedded Analytics.
В этой статье рассматриваются шаги по внедрению отчета с разбивкой на страницы в приложение. Дополнительные сведения об отчетах с разбивкой на страницы см. в статье Что такое отчеты с разбивкой на страницы в Power BI Premium?.
Внедрение отчета с разбивкой на страницы
При внедрении содержимого Power BI в приложение вы определяете его и задаете его параметры в объекте конфигурации. Затем вы передаете этот объект в API.
При внедрении отчета с разбивкой на страницы используйте объект конфигурации типа IPaginatedReportLoadConfiguration
:
export interface IPaginatedReportLoadConfiguration {
accessToken: string;
id: string;
embedUrl?: string;
settings?: IPaginatedReportSettings;
tokenType?: TokenType;
type?: string;
parameterValues?: IPaginatedReportParameter[];
}
Этот интерфейс содержит следующие свойства:
accessToken — маркер, предоставляющий доступ к внедренным данным Power BI. Дополнительные сведения о маркерах доступа см. в статье Общие сведения о различных решениях внедрения.
embedUrl — URL-адрес внедренного отчета. Этот URL-адрес становится источником html-элемента iframe, содержащего внедренный отчет. В частности, API назначает URL-адрес атрибуту
src
iframe. Для получения этого URL-адреса можно использовать API отчетов . Ниже приведены два примера:Рекомендуется передавать параметры отчета в отчет с помощью свойства, описанного
parameterValues
ниже. Однако можно также передать параметры в отчет, добавив строку запроса в конец URL-адреса внедрения. Дополнительные сведения о передаче параметров URL-адреса в отчетах с разбивкой на страницы. См. примеры передачи параметров в URL-адрес.id — идентификатор внедренного отчета Power BI.
hostname — значение по умолчанию
hostname
— app.powerbi.com. Если вы используете национальное облако, укажите URL-адрес здесь. Если вы указали значение дляembedURL
,hostname
будет игнорироваться.settings — объект конфигурации типа IPaginatedReportSettings. Этот объект задает сведения о внешнем виде панели параметров отчета. Панель параметров — это панель под панелью действий, которую можно развернуть или скрыть.
Панель параметров можно отобразить или скрыть, нажав кнопку Параметры на панели действий. Эта кнопка доступна по умолчанию. Но если для свойства
false
панели заданоenabled
значение , кнопка Параметры недоступна.По умолчанию API сворачивает панель параметров. Если для свойства панели задано
expanded
значениеtrue
, API загружает отчет с развернутой панелью.В этом коде показан один из способов
settings
настройки свойства:settings: { commands: { parameterPanel: { enabled: true, expanded: true } } }
tokenType — тип маркера, который предоставляет доступ к внедренным данным Power BI.
- Используйте ,
models.TokenType.Aad
если вы внедряете данные для своей организации (данные принадлежат пользователю). - Используйте ,
models.TokenType.Embed
если вы внедряете для клиентов (данные принадлежат приложению).
Дополнительные сведения см. в статье Общие сведения о различных решениях внедрения .
- Используйте ,
parameterValues — объект конфигурации типа
IPaginatedReportParameter
. Задайте параметры отчета с помощью этого свойства. Этот метод использует пакет SDK для JavaScript и является предпочтительным методом передачи параметров отчета. Пример:parameterValues: [ {name: "State", value: "WA"}, {name: "City", value: "Seattle"}, {name: "City", value: "Bellevue"}, {name: "City", value: "Redmond"} ]
Этот метод можно использовать только для передачи параметров отчета (параметров с префиксом
rp:
URL-адреса), а не параметров RDL (с префиксомrdl:
URL-адреса ).
Пример
В следующем примере показано, как внедрить отчет с разбивкой на страницы:
// Set up the configuration object that determines what to embed and how to embed it.
let embedConfiguration = {
accessToken: anAccessToken,
embedUrl: anEmbedUrl,
uniqueId: aReportId,
tokenType: aTokenType,
type: 'report',
datasetBindings: [{
sourceDatasetId: "originalDatasetId",
targetDatasetId: "notOriginalDatasetId"
}]
};
// Get a reference to the HTML element that contains the embedded report.
let embedContainer = $('#embedContainer')[0];
// Embed the report.
let report = powerbi.embed(embedContainer, embedConfiguration);
Убедитесь, что вы включили все идентификаторы datasetId, используемые для привязки, в маркер внедрения нескольких ресурсов.
Рекомендации и ограничения
- Сведения об использовании динамической привязки см. в статье Динамическое связывание наборов данных с отчетом с разбивкой на страницы.
- Метод начальной загрузки не поддерживается для отчетов с разбивкой на страницы.
- Параметры с несколькими значениями не поддерживаются при внедрении отчета с разбивкой на страницы.
- Свойство
parameterValues
можно использовать только для параметров отчета. Его нельзя использовать для параметров rdl. - Внедрение отчета с разбивкой на страницы с набором данных в режиме реального времени (набором данных для отправки) не поддерживается.