Compartir a través de


Aplicar temas de informe

Los temas de informes de Power BI permiten aplicar cambios de diseño a todo el informe. Por ejemplo, puede incluir los colores corporativos y cambiar los conjuntos de iconos. Al aplicar un tema de informe, todos los objetos visuales del informe usan los colores y el formato del tema seleccionado como valores predeterminados. Para obtener más información sobre la configuración del tema y cómo están diseñadas, consulte formato de archivo JSON del tema de informe.

Puede guardar y publicar un informe con un tema aplicado. El tema aplicado es el tema predeterminado para este informe cuando se carga en el servicio Power BI o en el análisis insertado de Power BI.

Los desarrolladores que usan análisis insertados de Power BI también tienen la capacidad de insertar un informe con un tema personalizado aplicado en lugar del tema predeterminado para el informe. La aplicación de un tema de esta manera carga el mismo informe con diferentes temas a distintos usuarios según su configuración.

Objeto de tema de informe

En esta sección se describe el objeto de tema de informe que se usa para representar temas. Se puede pasar un tipo de objeto IReportTheme a la configuración incrustada.

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

El objeto de tema de informe debe tener un único parámetro denominado themeJson. Este campo debe contener el objeto JSON que representa la configuración del tema. Para obtener más información, consulte la página formato de archivo JSON del tema de informe.

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

Aplicación de un tema a un informe

El tema aplicado también se puede cambiar después de cargar el informe. Cuando aplique el tema después de que se cargue el informe, el usuario final puede seleccionar un tema de una lista y ver los cambios de estilo aplicados al informe inmediatamente sin volver a cargarlo.

Aplicación de un tema al cargar

Este ejemplo es útil si desea aplicar un tema personalizado en la carga del informe.

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

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

Aplicar tema en tiempo de ejecución

El método apply es útil si desea cambiar el tema después de cargar el informe sin volver a cargar el informe.

La clase Report Client de Power BI define el método como:

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

La API de applyTheme cambia el tema que se aplica al informe en tiempo de ejecución.

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

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

Aplicar un tema al crear un informe

Se puede crear un nuevo informe incrustado con un tema aplicado. Los nuevos objetos visuales agregados al informe respetan el estilo del tema. Consulte también la Crear, editar y guardar un informe incrustado página.

Este ejemplo es útil si desea aplicar un tema personalizado a un nuevo informe.

// 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 es una función que debe implementarse en el código de la aplicación y que no forma parte del SDK.

Restablecimiento de un tema de informe

El método reset es útil si desea restablecer el tema del informe al tema predeterminado, pero no tiene el archivo JSON del tema.

La clase Report del cliente de Power BI define el método resetTheme como:

resetTheme(): Promise<void>

Llamar a la API de resetTheme vuelve al tema predeterminado del informe.

// Apply the theme
report.resetTheme();

Consideraciones y limitaciones

  • El uso de la API de applyTheme descrita anteriormente invalida el tema predeterminado por completo con el nuevo archivo JSON. La API no extenderá la configuración del tema predeterminado.
  • Hay varias veces cuando la aplicación de temas no cambia los objetos visuales del informe como se espera. Para obtener más información, consulte Situaciones en las que los colores del tema de informe no se adhieren a los informes.
  • No puede usar la API para aplicar un tema y establecer un nivel de contraste al mismo tiempo. Si configura ambas propiedades, la API usa el nivel de contraste que especificó, pero omite la configuración del tema.