Menerapkan tema laporan
Power BI melaporkan tema memungkinkan Anda menerapkan perubahan desain ke seluruh laporan Anda. Misalnya, Anda dapat menyertakan warna perusahaan Anda, dan mengubah set ikon Anda. Saat Anda menerapkan tema laporan, semua visual dalam laporan Anda menggunakan warna dan pemformatan dari tema yang Anda pilih sebagai defaultnya. Untuk informasi selengkapnya tentang pengaturan tema dan cara desainnya, lihat format file JSON tema Laporan .
Anda dapat menyimpan dan menerbitkan laporan dengan tema yang diterapkan padanya. Tema yang diterapkan adalah tema default untuk laporan ini saat dimuat di Layanan Power BI atau analitik tersemat Power BI.
Pengembang yang menggunakan analitik tersemat Power BI juga memiliki kemampuan untuk menyematkan laporan dengan tema kustom yang diterapkan alih-alih tema default untuk laporan. Menerapkan tema dengan cara ini memuat laporan yang sama dengan tema yang berbeda ke pengguna yang berbeda sesuai dengan pengaturan mereka.
Melaporkan objek tema
Bagian ini menjelaskan objek tema laporan yang digunakan untuk mewakili tema. Jenis objek IReportTheme
dapat diteruskan ke konfigurasi yang disematkan.
interface IEmbedConfiguration extends IEmbedConfigurationBase {
...
theme?: models.IReportTheme;
}
Objek tema laporan harus memiliki satu parameter bernama themeJson
. Bidang ini harus berisi objek JSON yang mewakili pengaturan tema. Untuk informasi selengkapnya, lihat halaman format file JSON tema Laporan
interface IReportTheme {}
interface ICustomTheme extends IReportTheme {
themeJson: any;
}
Menerapkan tema ke laporan
Tema yang diterapkan juga dapat diubah setelah laporan dimuat. Saat Anda menerapkan tema setelah laporan dimuat, pengguna akhir dapat memilih tema dari daftar dan melihat perubahan gaya yang diterapkan ke laporan segera tanpa memuat ulang.
Menerapkan tema saat dimuat
Contoh ini berguna jika Anda ingin menerapkan tema kustom pada beban laporan.
// Parse the theme JSON file into an object
let themeJsonObject = parseJsonfile(path);
let embedConfig = {
…
theme: {
themeJson: themeJsonObject
}
};
let report = powerbi.embed(embedContainer, embedConfig);
Terapkan tema dalam waktu proses
Metode terapkan berguna jika Anda ingin mengubah tema setelah laporan dimuat tanpa memuat ulang laporan.
Kelas
applyTheme(theme: models.IReportTheme): Promise<void>
API applyTheme
mengubah tema yang diterapkan ke laporan dalam durasi.
...
// Parse the theme JSON file into an object
let themeJsonObject = parseJsonfile(path);
// Apply the theme
report.applyTheme({ themeJson: themeJsonObject });
Menerapkan tema saat Anda membuat laporan
Laporan tersemat baru dapat dibuat dengan tema yang diterapkan padanya. Visual baru yang ditambahkan ke laporan menghormati gaya tema. Lihat juga halaman Membuat, mengedit, dan menyimpan laporan yang disematkan.
Contoh ini berguna jika Anda ingin menerapkan tema kustom ke laporan baru.
// Parse the theme JSON file into an object
let themeJsonObject = parseJsonfile(path);
let embedCreateConfiguration = {
…
theme: {
themeJson: themeJsonObject
}
};
let report = powerbi.createReport(embedContainer, embedCreateConfiguration);
Nota
parseJsonfile
adalah fungsi yang perlu diimplementasikan pada kode aplikasi dan bukan bagian dari SDK.
Mereset tema laporan
Metode reset berguna jika Anda ingin mengatur ulang tema laporan ke tema default tetapi Anda tidak memiliki file JSON tema.
Kelas Laporan Klien Power BI menentukan metode resetTheme
sebagai:
resetTheme(): Promise<void>
Memanggil API resetTheme
kembali ke tema default laporan.
// Apply the theme
report.resetTheme();
Pertimbangan dan batasan
- Menggunakan API
applyTheme
yang dijelaskan di atas mengambil alih tema default sepenuhnya dengan file JSON baru. API tidak akan memperluas konfigurasi tema default. - Ada beberapa kali saat menerapkan tema tidak mengubah visual dalam laporan seperti yang Anda harapkan. Untuk informasi selengkapnya, lihat situasi saat warna Tema Laporan tidak menempel pada laporan Anda.
- Anda tidak dapat menggunakan API untuk menerapkan tema dan mengatur tingkat kontras secara bersamaan. Jika Anda mengonfigurasi kedua properti, API menggunakan tingkat kontras yang Anda tentukan tetapi mengabaikan pengaturan tema.