Anwenden von Berichtsdesigns

Mit Power BI-Berichtsdesigns können Sie Entwurfsänderungen auf den gesamten Bericht anwenden. Beispielsweise können Sie Ihre Unternehmensfarben einschließen und Ihre Symbolsätze ändern. Wenn Sie ein Berichtsdesign anwenden, verwenden alle Visuals im Bericht automatisch die Farben und die Formatierung des ausgewählten Designs. Weitere Informationen zu Designeinstellungen und deren Design finden Sie unter JSON-Dateiformat für Berichtsdesigns.

Sie können einen Bericht mit einem darauf angewendeten Design speichern und veröffentlichen. Das angewendete Design ist das Standarddesign für diesen Bericht, wenn er in Power BI Service oder Power BI Embedded Analytics geladen wird.

Entwickler, die Power BI Embedded Analytics verwenden, haben auch die Möglichkeit, einen Bericht mit einem benutzerdefinierten Design einzubetten, das anstelle des Standarddesigns für den Bericht angewendet wird. Wenn Sie auf diese Weise ein Design anwenden, wird derselbe Bericht mit unterschiedlichen Designs entsprechend ihren Einstellungen für verschiedene Benutzer geladen.

Berichtsdesignobjekt

In diesem Abschnitt wird das Berichtsdesignobjekt beschrieben, das zum Darstellen von Designs verwendet wird. Ein IReportTheme Objekttyp kann an die eingebettete Konfiguration übergeben werden.

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

Das Berichtsdesignobjekt sollte über einen einzelnen Parameter namens verfügen themeJson. Dieses Feld sollte das JSON-Objekt enthalten, das die Designeinstellungen darstellt. Weitere Informationen finden Sie auf der Seite JSON-Dateiformat des Berichtsdesigns .

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

Anwenden eines Designs auf einen Bericht

Das angewendete Design kann auch geändert werden, nachdem der Bericht geladen wurde. Wenn Sie das Design nach dem Laden des Berichts anwenden, kann der Endbenutzer ein Design aus einer Liste auswählen und die auf den Bericht angewendeten Formatvorlagenänderungen sofort anzeigen, ohne erneut zu laden.

Anwenden eines Designs beim Laden

Dieses Beispiel ist nützlich, wenn Sie beim Laden des Berichts ein benutzerdefiniertes Design anwenden möchten.

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

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

Design in der Laufzeit anwenden

Die apply-Methode ist nützlich, wenn Sie das Design ändern möchten, nachdem der Bericht geladen wurde, ohne den Bericht erneut zu laden.

Die Power BI-Clientberichtsklasse definiert die applyTheme -Methode wie:

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

Die applyTheme API ändert das Design, das in der Laufzeit auf den Bericht angewendet wird.

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

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

Anwenden eines Designs beim Erstellen eines Berichts

Ein neuer eingebetteter Bericht kann mit einem darauf angewendeten Design erstellt werden. Neue Visuals, die dem Bericht hinzugefügt wurden, berücksichtigen den Designstil. Weitere Informationen finden Sie auch auf der Seite Erstellen, Bearbeiten und Speichern eines eingebetteten Berichts .

Dieses Beispiel ist nützlich, wenn Sie ein benutzerdefiniertes Design auf einen neuen Bericht anwenden möchten.

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

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

Hinweis

parseJsonfile ist eine Funktion, die im Anwendungscode implementiert werden muss und nicht Teil des SDK ist.

Zurücksetzen eines Berichtsdesigns

Die Reset-Methode ist nützlich, wenn Sie das Berichtsdesign auf das Standarddesign zurücksetzen möchten, aber nicht über die JSON-Designdatei verfügen.

Die Power BI-Clientberichtsklasse definiert die resetTheme -Methode wie:

resetTheme(): Promise<void>

Durch Aufrufen der resetTheme API wird das Standarddesign des Berichts zurückgegeben.

// Apply the theme
report.resetTheme();

Einschränkungen und Aspekte

  • Die Verwendung der applyTheme oben beschriebenen API überschreibt das Standarddesign vollständig mit der neuen JSON-Datei. Die API erweitert die Konfiguration des Standarddesigns nicht.
  • Es gibt einige Male, wenn das Anwenden von Designs die visuellen Elemente im Bericht nicht wie erwartet ändert. Weitere Informationen finden Sie unter Situationen, in dem Berichtsdesignfarben nicht in Ihren Berichten enthalten sind.
  • Sie können die API nicht verwenden, um ein Design anzuwenden und gleichzeitig eine Kontraststufe festzulegen. Wenn Sie beide Eigenschaften konfigurieren, verwendet die API die von Ihnen angegebene Kontraststufe, ignoriert jedoch die Designeinstellung.