Применение тем отчета
Темы отчетов Power BI позволяют применять изменения дизайна ко всему отчету. Например, можно включить корпоративные цвета и изменить наборы значков. При применении темы отчета все визуальные элементы в отчете используют цвета и форматирование выбранной темы в качестве значений по умолчанию. Дополнительные сведения о параметрах темы и способах их создания см. в формате JSON-файла отчета.
Вы можете сохранить и опубликовать отчет с темой, примененной к ней. Примененная тема — это тема по умолчанию для этого отчета при загрузке в службе Power BI или встроенной аналитике Power BI.
Разработчики, использующие встроенную аналитику Power BI, также могут внедрять отчет с настраиваемой темой, применяемой вместо темы по умолчанию для отчета. Применение темы таким образом загружает один и тот же отчет с различными темами для разных пользователей в соответствии с их параметрами.
Объект темы отчета
В этом разделе описывается объект темы отчета, используемый для представления тем. Тип объекта IReportTheme
можно передать в внедренную конфигурацию.
interface IEmbedConfiguration extends IEmbedConfigurationBase {
...
theme?: models.IReportTheme;
}
Объект темы отчета должен иметь один параметр с именем themeJson
. Это поле должно содержать объект JSON, представляющий параметры темы. Дополнительные сведения см. на странице формат файла JSON отчета.
interface IReportTheme {}
interface ICustomTheme extends IReportTheme {
themeJson: any;
}
Применение темы к отчету
Примененная тема также может быть изменена после загрузки отчета. При применении темы после загрузки отчета конечный пользователь может выбрать тему из списка и увидеть изменения стиля, примененные к отчету, без перезагрузки.
Применение темы при загрузке
Этот пример полезен, если вы хотите применить настраиваемую тему к загрузке отчета.
// Parse the theme JSON file into an object
let themeJsonObject = parseJsonfile(path);
let embedConfig = {
…
theme: {
themeJson: themeJsonObject
}
};
let report = powerbi.embed(embedContainer, embedConfig);
Применение темы во время выполнения
Метод применения полезен, если вы хотите изменить тему после загрузки отчета без перезагрузки отчета.
Класс отчетов
applyTheme(theme: models.IReportTheme): Promise<void>
API applyTheme
изменяет тему, которая применяется к отчету во время выполнения.
...
// Parse the theme JSON file into an object
let themeJsonObject = parseJsonfile(path);
// Apply the theme
report.applyTheme({ themeJson: themeJsonObject });
Применение темы при создании отчета
Новый внедренный отчет можно создать с помощью темы, примененной к ней. Новые визуальные элементы, добавленные в отчет, уважают стиль темы. См. также страницу Создание, изменение и сохранение внедренного отчета.
Этот пример полезен, если вы хотите применить настраиваемую тему к новому отчету.
// Parse the theme JSON file into an object
let themeJsonObject = parseJsonfile(path);
let embedCreateConfiguration = {
…
theme: {
themeJson: themeJsonObject
}
};
let report = powerbi.createReport(embedContainer, embedCreateConfiguration);
Заметка
parseJsonfile
— это функция, которая должна быть реализована в коде приложения и не является частью пакета SDK.
Сброс темы отчета
Метод сброса полезен, если вы хотите сбросить тему отчета на тему по умолчанию, но у вас нет JSON-файла темы.
Класс отчетов клиента Power BI
resetTheme(): Promise<void>
Вызов API resetTheme
возвращает тему отчета по умолчанию.
// Apply the theme
report.resetTheme();
Рекомендации и ограничения
- Используя описанный выше API
applyTheme
, полностью переопределяет тему по умолчанию новым JSON-файлом. API не расширяет конфигурацию темы по умолчанию. - Существует несколько раз, когда применение тем не изменяет визуальные элементы в отчете, как ожидается. Дополнительные сведения см. в статье Ситуации, когда цвета темы отчета не соответствуютотчетам.
- Api нельзя использовать для применения темы и одновременного задания уровня контрастности. При настройке обоих свойств API использует заданный уровень контрастности, но игнорирует параметр темы.