Sdílet prostřednictvím


Použití motivů sestav

Motivy sestav Power BI umožňují použít změny návrhu na celou sestavu. Můžete například zahrnout firemní barvy a změnit sady ikon. Když použijete motiv sestavy, budou všechny vizuály v sestavě používat barvy a formátování z vybraného motivu jako výchozí hodnoty. Další informace o nastavení motivu a jejich návrhu najdete v tématu formát souboru JSON motivu sestavy.

Sestavu můžete uložit a publikovat s motivem použitým na ni. Použitý motiv je výchozím motivem pro tuto sestavu, když je načtený ve službě Power BI nebo vložených analytických možnostech Power BI.

Vývojáři, kteří používají vložené analytické možnosti Power BI, mají také možnost vložit sestavu s vlastním motivem použitým místo výchozího motivu pro sestavu. Použití motivu tímto způsobem načte stejnou sestavu s různými motivy různým uživatelům podle jejich nastavení.

Objekt motivu sestavy

Tato část popisuje objekt motivu sestavy, který se používá k reprezentaci motivů. Typ objektu IReportTheme lze předat do vložené konfigurace.

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

Objekt motivu sestavy by měl mít jeden parametr s názvem themeJson. Toto pole by mělo obsahovat objekt JSON, který představuje nastavení motivu. Další informace najdete na stránce formát souboru JSON motivu sestavy.

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

Použití motivu v sestavě

Použitý motiv lze také po načtení sestavy změnit. Když motiv použijete po načtení sestavy, koncový uživatel může vybrat motiv ze seznamu a okamžitě zobrazit změny stylu použité v sestavě bez opětovného načtení.

Použití motivu při načtení

Tento příklad je užitečný, pokud chcete použít vlastní motiv při načítání sestavy.

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

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

Použití motivu za běhu

Metoda Apply je užitečná, pokud chcete změnit motiv po načtení sestavy bez opětovného načtení sestavy.

Třída Sestava Klienta Power BI definuje metodu takto:

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

Rozhraní API applyTheme změní motiv použitý na sestavu za běhu.

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

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

Použití motivu při vytváření sestavy

Novou vloženou sestavu je možné vytvořit s použitým motivem. Nové vizuály přidané do sestavy respektují styl motivu. Viz také Vytvoření, úprava a uložení vložené sestavy stránku.

Tento příklad je užitečný, pokud chcete použít vlastní motiv na novou sestavu.

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

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

Poznámka

parseJsonfile je funkce, která se musí implementovat v kódu aplikace a není součástí sady SDK.

Resetování motivu sestavy

Metoda resetování je užitečná, pokud chcete obnovit motiv sestavy na výchozí motiv, ale nemáte soubor JSON motivu.

Třída sestavy klienta Power BI definuje metodu resetTheme takto:

resetTheme(): Promise<void>

Volání rozhraní API resetTheme se vrátí do výchozího motivu sestavy.

// Apply the theme
report.resetTheme();

Důležité informace a omezení

  • Použití applyTheme rozhraní API popsaného výše přepíše výchozí motiv zcela novým souborem JSON. Rozhraní API nerozšiřuje konfiguraci výchozího motivu.
  • Při použití motivů se vizuály v sestavě několikrát nemění, jak očekáváte. Další informace najdete v tématu Situacích, kdy barvy motivu sestavy nezůsadí na sestavy.
  • Rozhraní API nemůžete použít k použití motivu a nastavení úrovně kontrastu najednou. Pokud nakonfigurujete obě vlastnosti, rozhraní API použije zadanou úroveň kontrastu, ale ignoruje nastavení motivu.