レポートテーマを適用する
Power BI レポートのテーマ を使用すると、レポート全体にデザインの変更を適用できます。 たとえば、会社の色を含め、アイコン セットを変更できます。 レポート テーマを適用すると、お使いのレポートのすべてのビジュアルで、選択されたテーマの色と書式設定が既定値として使用されます。 テーマの設定とその設計方法の詳細については、「 レポート テーマの JSON ファイル形式」を参照してください。
テーマが適用されたレポートを保存して発行できます。 適用されたテーマは、Power BI サービスまたは 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 クライアント レポート クラスは、 メソッドを applyTheme
次のように定義します。
applyTheme(theme: models.IReportTheme): Promise<void>
API は applyTheme
、実行時にレポートに適用されるテーマを変更します。
...
// 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 クライアント レポート クラス は、 メソッドを resetTheme
次のように定義します。
resetTheme(): Promise<void>
API を resetTheme
呼び出すと、レポートの既定のテーマに戻ります。
// Apply the theme
report.resetTheme();
制限と考慮事項
- 上記の API を使用すると、
applyTheme
既定のテーマが新しい JSON ファイルで完全にオーバーライドされます。 API では、既定のテーマの構成は拡張されません。 - テーマを適用しても、期待どおりのレポートのビジュアルが変更されない場合があります。 詳細については、「 レポート テーマの色がレポートに残らない状況」を参照してください。
- API を使用してテーマを適用し、同時にコントラスト レベルを設定することはできません。 両方のプロパティを構成すると、API は指定したコントラスト レベルを使用しますが、テーマの設定は無視します。