共用方式為


套用報表主題

Power BI 報表主題 可讓您將設計變更套用至整個報表。 例如,您可以包含公司色彩,以及變更圖示集。 當您套用報表主題時,報表中的所有視覺效果都會使用所選主題中的色彩和格式設定做為其預設值。 如需主題設定及其設計方式的詳細資訊,請參閱 報表主題 JSON 檔案格式

您可以儲存併發佈已套用主題的報表。 套用的主題是在 Power BI 服務或 Power BI 內嵌式分析中載入時,此報表的預設主題。

使用 Power BI 內嵌式分析的開發人員也能夠內嵌已套用自定義主題的報表,而不是報表的預設主題。 以這種方式套用主題,會根據不同的設定,將具有不同主題的相同報表載入至不同的使用者。

報表主題物件

本節描述用來代表主題的報表主題物件。 IReportTheme 物件類型可以傳遞至內嵌組態。

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

報表主題對象應該有名為 themeJson的單一參數。 此欄位應該包含代表主題設定的 JSON 物件。 如需詳細資訊,請參閱 報表主題 JSON 檔格式 頁面。

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

將主題套用至報表

載入報表之後,也可以變更已套用的主題。 當您在報表載入之後套用主題時,終端使用者可以從清單中選取主題,並立即查看套用至報表的樣式變更,而不重載。

在載入時套用主題

如果您想要在報表載入上套用自定義主題,此範例會很有用。

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

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

在運行時間套用主題

如果您想要在載入報表之後變更主題,而不重載報表,套用方法會很有用。

Power BI 用戶端 報表 類別會將 applyTheme 方法定義為:

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

applyTheme API 會變更在運行時間套用至報表的主題。

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

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

建立報表時套用主題

您可以建立新的內嵌報表,並套用主題。 新增至報表的新視覺效果會遵守主題樣式。 另請參閱 建立、編輯和儲存內嵌報表 頁面。

如果您想要將自定義主題套用至新的報表,此範例會很有用。

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

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

注意

parseJsonfile 是需要在應用程式程式代碼上實作且不屬於 SDK 的函式。

重設報表主題

如果您想要將報表主題重設為默認主題,但沒有主題 JSON 檔案,則 reset 方法很有用。

Power BI Client Report 類別resetTheme 方法定義為:

resetTheme(): Promise<void>

呼叫 resetTheme API 會傳回報表的預設主題。

// Apply the theme
report.resetTheme();

考慮和限制

  • 使用上述 applyTheme API,會以新的 JSON 檔案完全覆寫預設主題。 API 不會擴充預設主題的組態。
  • 套用主題不會像您預期一樣變更報表中的視覺效果時,有幾次。 如需詳細資訊,請參閱當報表主題色彩不貼附至報表時,情況。
  • 您無法使用 API 來套用主題,並同時設定對比層級。 如果您設定這兩個屬性,API 會使用您指定的對比層級,但忽略主題設定。