Udostępnij za pośrednictwem


Stosowanie motywów raportów

Motywy raportów usługi Power BI umożliwiają stosowanie zmian projektu do całego raportu. Możesz na przykład uwzględnić kolory firmowe i zmienić zestawy ikon. Po zastosowaniu motywu raportu wszystkie wizualizacje w raporcie używają kolorów i formatowania z wybranego motywu jako domyślnych. Aby uzyskać więcej informacji na temat ustawień motywu i sposobu ich projektowania, zobacz format pliku JSON motywu raportu.

Możesz zapisać i opublikować raport z zastosowanym motywem. Zastosowany motyw jest motywem domyślnym dla tego raportu, gdy jest ładowany w usłudze Power BI lub osadzonej analizie usługi Power BI.

Deweloperzy korzystający z osadzonej analizy usługi Power BI mają również możliwość osadzania raportu z motywem niestandardowym zastosowanym zamiast motywu domyślnego raportu. Zastosowanie motywu w ten sposób powoduje załadowanie tego samego raportu z różnymi motywami do różnych użytkowników zgodnie z ich ustawieniami.

Obiekt motywu raportu

W tej sekcji opisano obiekt motywu raportu używany do reprezentowania motywów. Typ obiektu IReportTheme można przekazać do konfiguracji osadzonej.

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

Obiekt motywu raportu powinien mieć jeden parametr o nazwie themeJson. To pole powinno zawierać obiekt JSON reprezentujący ustawienia motywu. Aby uzyskać więcej informacji, zobacz stronę Format pliku JSON motywu raportu.

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

Stosowanie motywu do raportu

Zastosowany motyw można również zmienić po załadowaniu raportu. Po zastosowaniu motywu po załadowaniu raportu użytkownik końcowy może wybrać motyw z listy i zobaczyć zmiany stylu zastosowane do raportu natychmiast bez ponownego załadowania.

Stosowanie motywu podczas ładowania

Ten przykład jest przydatny, jeśli chcesz zastosować motyw niestandardowy podczas ładowania raportu.

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

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

Stosowanie motywu w czasie wykonywania

Metoda apply jest przydatna, jeśli chcesz zmienić motyw po załadowaniu raportu bez ponownego załadowania raportu.

Klasa raportów klienta usługi Power BI definiuje metodę applyTheme jako:

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

Interfejs API applyTheme zmienia motyw zastosowany do raportu w czasie wykonywania.

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

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

Stosowanie motywu podczas tworzenia raportu

Można utworzyć nowy osadzony raport z zastosowanym motywem. Nowe wizualizacje dodane do raportu są zgodne ze stylem motywu. Zobacz również stronę tworzenia, edytowania i zapisywania osadzonego raportu .

Ten przykład jest przydatny, jeśli chcesz zastosować motyw niestandardowy do nowego raportu.

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

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

Nuta

parseJsonfile jest funkcją, która musi zostać zaimplementowana w kodzie aplikacji i nie jest częścią zestawu SDK.

Resetowanie motywu raportu

Metoda resetowania jest przydatna, jeśli chcesz zresetować motyw raportu do motywu domyślnego, ale nie masz pliku JSON motywu.

Klasa raportów klienta usługi Power BI definiuje metodę resetTheme jako:

resetTheme(): Promise<void>

Wywołanie interfejsu API resetTheme powoduje powrót do domyślnego motywu raportu.

// Apply the theme
report.resetTheme();

Zagadnienia i ograniczenia

  • Użycie opisanego powyżej interfejsu API applyTheme zastępuje motyw domyślny całkowicie nowym plikiem JSON. Interfejs API nie rozszerzy konfiguracji motywu domyślnego.
  • Stosowanie motywów nie zmienia wizualizacji w raporcie, tak jak oczekiwano. Aby uzyskać więcej informacji, zobacz Sytuacje, gdy kolory motywu raportu nie trzymają się raportów.
  • Nie można użyć interfejsu API, aby zastosować motyw i ustawić jednocześnie poziom kontrastu. Jeśli skonfigurujesz obie właściwości, interfejs API używa określonego poziomu kontrastu, ale ignoruje ustawienie motywu.