レポート テーマを適用する
Power BI レポート テーマ、レポート全体にデザインの変更を適用できます。 たとえば、会社の色を含め、アイコン セットを変更できます。 レポート テーマを適用すると、レポート内のすべてのビジュアルで、選択したテーマの色と書式設定が既定値として使用されます。 テーマの設定とその設計方法の詳細については、「レポート テーマの JSON ファイル形式 を参照してください。
テーマが適用されたレポートを保存して発行できます。 適用されたテーマは、Power BI Service または Power BI 埋め込み分析に読み込まれるときに、このレポートの既定のテーマです。
Power BI 埋め込み分析を使用する開発者は、レポートの既定のテーマではなく、カスタム テーマが適用されたレポートを埋め込むこともできます。 この方法でテーマを適用すると、設定に応じて、異なるテーマを持つ同じレポートが異なるユーザーに読み込まれます。
レポート テーマ オブジェクト
このセクションでは、テーマを表すために使用されるレポート テーマ オブジェクトについて説明します。
IReportTheme
オブジェクト型は、埋め込み構成に渡すことができます。
interface IEmbedConfiguration extends IEmbedConfigurationBase {
...
theme?: models.IReportTheme;
}
レポート テーマ オブジェクトには、themeJson
という名前のパラメーターが 1 つ必要です。 このフィールドには、テーマの設定を表す 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);
実行時にテーマを適用する
apply メソッドは、レポートを再読み込みせずにレポートを読み込んだ後にテーマを変更する場合に便利です。
Power BI Client Report クラスは、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 の一部ではない関数です。
レポート テーマをリセットする
reset メソッドは、レポート テーマを既定のテーマにリセットするが、テーマ JSON ファイルがない場合に便利です。
Power BI Client Report クラス は、resetTheme
メソッドを次のように定義します。
resetTheme(): Promise<void>
resetTheme
API を呼び出すと、レポートの既定のテーマに戻ります。
// Apply the theme
report.resetTheme();
考慮事項と制限事項
- 上記の
applyTheme
API を使用すると、既定のテーマが新しい JSON ファイルで完全にオーバーライドされます。 API では、既定のテーマの構成は拡張されません。 - テーマを適用しても、期待しているようなレポートのビジュアルが変更されない場合があります。 詳細については、「レポート テーマの色がレポートに適用されない場合の
状況」を参照してください。 - API を使用してテーマを適用し、コントラスト レベルを同時に設定することはできません。 両方のプロパティを構成すると、API は指定したコントラスト レベルを使用しますが、テーマの設定は無視します。