보고서 색 및 모드 쇼케이스 사용자 지정
Power BI 포함된 테마 API 색 팔레트 및 기타 스타일을 정의하고 Power BI 보고서에 적용합니다. 테마 기능을 사용하여 다른 보고서 사용자에 대해 사용자 지정된 테마를 적용하거나 사용자가 자신의 모양과 느낌을 선택할 수 있도록 합니다.
보고서 색 및 모드 사용자 지정Power BI 임베디드 분석 플레이그라운드 테마 API를 사용하여 사용자가 Power BI 임베디드 분석 보고서를 볼 때 다른 색과 배경 모드를 선택할 수 있도록 합니다.
쇼케이스 보고서는 테마 기능을 사용하여 다음을 수행합니다.
- 보고서 색 테마 및 배경 모드를 정의합니다.
- 보고서 로드 시 특정 색 테마를 적용합니다.
- 사용자가 보고서 보기 세션 중에 테마 및 배경 모드를 변경할 수 있도록 합니다.
보고서 테마에 대한 자세한 내용은 Power BI Desktop
테마 쇼케이스 환경
보고서 색 및 모드
테마 및 모드 선택
보고서 뷰어는 테마 선택 단추를 선택하여 다른 색 테마 또는 모드를 적용할 수 있습니다. 테마 선택 드롭다운 상자가 열리고 사용 가능한 테마 이름과 색상표가 나열되고 현재 테마가 선택되어 있습니다.
뷰어는 목록에서 다른 테마를 선택하고 데이터, 레이블 및 기타 요소 색의 즉각적인 변경 내용을 볼 수 있습니다. 선택한 테마는 보고서의 모든 포함된 시각적 개체에 영향을 줍니다.
또한 뷰어는 어두운 모드
어두운 모드가 켜져 있는 테마 선택 대화 상자를 보여 주는
테마
테마 쇼케이스 코드
쇼케이스 애플리케이션을 구현하기 위한 코드는 PowerBI-Embedded-Showcases GitHub 리포지토리에 있습니다.
HTML 페이지 보고서 컨테이너를 빌드하고 테마 선택 단추와 대화 상자를JSON 개체가 테마를 로드합니다. 보고서 JavaScript 보고서를 포함하고, 기본 테마를 로드하고, 테마 전환 환경을 구현합니다.
보고서 테마 JSON 개체를 사용하여 테마 정의
보고서 테마 JSON 개체jsonDataColors
개체를 정의합니다.
다음 jsonDataColors
개체는 쇼케이스 Tidal
테마를 정의합니다. 별표 *
보고서의 모든 시각적 개체에 전역적으로 설정을 적용합니다.
const jsonDataColors = [
...
{
"name": "Tidal",
"dataColors": ["#094782", "#0B72D7", "#098BF5", "#54B5FB", "#71C0A7", "#57B956", "#478F48", "#326633"],
"tableAccent": "#094782",
"visualStyles": {
"*": {
"*": {
"background": [{ "show": true, "transparency": 3 }],
"visualHeader": [{
"foreground": { "solid": { "color": "#094782" } },
"transparency": 3
}]
}
},
"group": { "*": { "background": [{ "show": false }] } },
"basicShape": { "*": { "background": [{ "show": false }] } },
"image": { "*": { "background": [{ "show": false }] } },
"page": {
"*": {
"background": [{ "transparency": 100 }],
}
}
}
}
...
]
보고서 테마 JSON 개체 파일 형식 및 속성에 대한 자세한 내용은 보고서 테마 JSON 파일 형식
백그라운드 모드 정의
또한 themes.js 파일은 밝고 어두운 배경 모드를 설명하는 themes
개체를 정의합니다. 밝은 배경 모드와 어두운 배경 모드를 정의하기 위해 themes
개체는 흰색 배경이 있는 테마와 대비되는 어두운 배경의 다른 테마를 지정합니다. 어두운 배경 개체는 어두운 배경에 대해 표시되도록 다른 구조 및 텍스트 색의 값도 설정합니다.
embed 구성을 사용하여 테마 적용 및 applyTheme
쇼케이스 themeJson
매개 변수는 여러 가지 색 테마를 정의합니다. 포함된 보고서 JavaScript 보고서 클래스 applyTheme 메서드를 사용하여 보고서 로드 및 보고서 런타임 중에 테마를 적용합니다.
테마를 사용하도록 설정하기 위해 보고서 포함 구성 테마 JSON 개체를 가리키는 themeJson
매개 변수와 함께 theme
특성을 지정합니다. 쇼케이스 포함 구성은 보고서 로드에 데이터 색 ID 0
있는 Default
테마를 적용합니다.
let config = {
...
theme: { themeJson: jsonDataColors[0] },
};
뷰어가 세션 중에 다른 테마 또는 모드를 선택하는 경우 applyTheme 함수는 선택한 데이터 색 및 모드에 따라 새 테마 개체를 정의하고 적용합니다. 다음 코드는 쇼케이스 applyTheme
함수를 보여줍니다.
async function applyTheme() {
// Get active data-color ID
activeDataColorId = Number($("input[name=data-color]:checked", "#theme-dropdown")[0].getAttribute("id").slice(-1));
// Get the theme state from the slider toggle
let activeThemeSlider = $("#theme-slider").get(0);
// Get the index of the theme based on the state of the slider
// 1 => Dark theme
// 0 => Light theme
const themeId = (activeThemeSlider.checked) ? 1 : 0;
// Create new theme object
let newTheme = {};
// Append the data colors and the mode
$.extend(newTheme, jsonDataColors[activeDataColorId], themes[themeId]);
// Apply the theme to the report
await themesShowcaseState.themesReport.applyTheme({ themeJson: newTheme });
}
관련 콘텐츠
- 보고서 테마 적용
- power BI Embedded Analytics 플레이그라운드