Aplicar temas de relatório

Os temas de relatório do Power BI permitem que você aplique alterações de design a todo o relatório. Por exemplo, você pode incluir suas cores corporativas e alterar seus conjuntos de ícones. Quando você aplica um tema de relatório, todos os visuais em seu relatório usam as cores e a formatação do tema selecionado como padrão. Para obter mais informações sobre as configurações de tema e como elas são projetadas, consulte formato de arquivo JSON do tema relatório.

Você pode salvar e publicar um relatório com um tema aplicado a ele. O tema aplicado é o tema padrão deste relatório quando ele é carregado no Serviço do Power BI ou na análise integrada do Power BI.

Os desenvolvedores que usam a análise integrada do Power BI também têm a capacidade de inserir um relatório com um tema personalizado aplicado em vez do tema padrão para o relatório. A aplicação de um tema dessa forma carrega o mesmo relatório com temas diferentes para usuários diferentes de acordo com suas configurações.

Objeto tema de relatório

Esta seção descreve o objeto de tema de relatório usado para representar temas. Um tipo de objeto IReportTheme pode ser passado para a configuração inserida.

interface IEmbedConfiguration extends IEmbedConfigurationBase {
  ...
  theme?: models.IReportTheme;
}

O objeto de tema de relatório deve ter um único parâmetro chamado themeJson. Esse campo deve conter o objeto JSON que representa as configurações do tema. Para obter mais informações, consulte a página de formato de arquivo JSON do tema Relatório.

interface IReportTheme {}
interface ICustomTheme extends IReportTheme {
  themeJson: any;
}

Aplicar um tema a um relatório

O tema aplicado também pode ser alterado depois que o relatório é carregado. Quando você aplica o tema após o carregamento do relatório, o usuário final pode selecionar um tema em uma lista e ver as alterações de estilo aplicadas ao relatório imediatamente sem recarregar.

Aplicar um tema ao carregar

Este exemplo será útil se você quiser aplicar um tema personalizado na carga do relatório.

// Parse the theme JSON file into an object
let themeJsonObject = parseJsonfile(path);
let embedConfig = {
    …
    theme: {
        themeJson: themeJsonObject
    }
};

let report = powerbi.embed(embedContainer, embedConfig);

Aplicar o tema em tempo de execução

O método apply será útil se você quiser alterar o tema depois que o relatório for carregado sem recarregar o relatório.

A classe relatório de do Cliente do Power BI define o método como:

applyTheme(theme: models.IReportTheme): Promise<void>

A API applyTheme altera o tema aplicado ao relatório em tempo de execução.

...
// Parse the theme JSON file into an object
let themeJsonObject = parseJsonfile(path); 

// Apply the theme
report.applyTheme({ themeJson: themeJsonObject });

Aplicar um tema ao criar um relatório

Um novo relatório inserido pode ser criado com um tema aplicado a ele. Novos visuais adicionados ao relatório respeitam o estilo do tema. Consulte também a página Criar, editar e salvar um relatório inserido página.

Este exemplo será útil se você quiser aplicar um tema personalizado a um novo relatório.

// Parse the theme JSON file into an object
let themeJsonObject  = parseJsonfile(path);
let embedCreateConfiguration = {
  …
  theme: {
    themeJson: themeJsonObject 
  }
};

let report = powerbi.createReport(embedContainer, embedCreateConfiguration);

Nota

parseJsonfile é uma função que precisa ser implementada no código do aplicativo e não faz parte do SDK.

Redefinir um tema de relatório

O método de redefinição será útil se você quiser redefinir o tema do relatório para o tema padrão, mas não tiver o arquivo JSON do tema.

A classe Relatório de do Cliente do Power BI define o método resetTheme como:

resetTheme(): Promise<void>

Chamar a API resetTheme retorna ao tema padrão do relatório.

// Apply the theme
report.resetTheme();

Considerações e limitações

  • Usar a API applyTheme descrita acima substitui totalmente o tema padrão com o novo arquivo JSON. A API não estenderá a configuração do tema padrão.
  • Há algumas vezes em que a aplicação de temas não altera os visuais no relatório como você está esperando. Para obter mais informações, consulte Situações em que as cores do Tema do Relatório não se aderem aos seus relatórios.
  • Você não pode usar a API para aplicar um tema e definir um nível de contraste ao mesmo tempo. Se você configurar ambas as propriedades, a API usará o nível de contraste especificado, mas ignorará a configuração do tema.