次の方法で共有


レポートテーマを適用する

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 は指定したコントラスト レベルを使用しますが、テーマの設定は無視します。