Share via


보고서 테마 적용

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);

런타임에 테마 적용

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();

제한 사항 및 고려 사항

  • 위에서 설명한 applyTheme API를 사용하면 기본 테마를 완전히 새 JSON 파일로 재정의합니다. API는 기본 테마의 구성을 확장하지 않습니다.
  • 테마를 적용해도 보고서의 시각적 개체가 예상대로 변경되지 않는 경우가 몇 번 있습니다. 자세한 내용은 보고서 테마 색이 보고서에 고정되지 않는 상황을 참조하세요.
  • API를 사용하여 테마를 적용하고 동시에 대비 수준을 설정할 수 없습니다. 두 속성을 모두 구성하는 경우 API는 지정한 대비 수준을 사용하지만 테마 설정은 무시합니다.