Mempersonalisasi tata letak laporan
Dengan tata letak laporan kustom, Anda bisa menyematkan laporan Power BI dengan tata letak yang berbeda dari yang disimpan dalam laporan asli. Saat Anda menentukan tata letak laporan kustom, Anda dapat memvariasi ukuran halaman laporan, dan mengontrol ukuran, posisi, dan visibilitas visual di halaman.
Gambaran umum tata letak kustom
Untuk membuat tata letak laporan kustom, tentukan objek tata letak kustom dan teruskan ke objek pengaturan dalam konfigurasi semat.
Di objek pengaturan, atur layoutType
ke models.LayoutType.Custom
dan atur customLayout
ke objek tata letak kustom Anda:
let embedConfig = {
...
settings: {
layoutType: models.LayoutType.Custom
customLayout: {...}
}
};
Untuk informasi selengkapnya tentang pengaturan laporan, lihat Mengonfigurasi pengaturan laporan.
Cara menentukan tata letak laporan kustom
Setiap tata letak laporan kustom diwakili oleh objek tata letak kustom yang Anda tentukan untuk menentukan ukuran halaman, skala kanvas, dan tata letak halaman. Dalam tata letak halaman, Anda dapat menentukan tata letak visual untuk setiap visual dan tata letak visual default untuk laporan.
Definisi antarmuka tata letak kustom
Gunakan antarmuka ICustomLayout
untuk menentukan objek tata letak kustom:
interface ICustomLayout {
pageSize?: IPageSize;
displayOption?: DisplayOption;
pagesLayout?: PagesLayout;
}
Antarmuka ICustomLayout
pageSize
- ObjekIPageSize
yang menentukan ukuran halaman area kanvas untuk laporan.interface IPageSize { type: PageSizeType; }
Objek
IPageSize
menggunakan enumPageSizeType
untuk mengatur ukuran halaman:enum PageSizeType { Widescreen, Standard, Cortana, Letter, Custom }
displayOption
- EnumDisplayOption
yang mengontrol cara menskalakan kanvas agar pas dalam bingkai.enum DisplayOption { FitToPage, FitToWidth, ActualSize }
pagesLayout
- ObjekPagesLayout
yang mengontrol tata letak untuk setiap visual pada halaman. Properti ini memetakan nama halaman ke objekPageLayout
. Untuk informasi selengkapnya, lihat Menentukan tata letak halaman.type PagesLayout = { [key: string]: IPageLayout; }
Menentukan tata letak halaman
Gunakan antarmuka IPageLayout
untuk menentukan objek tata letak halaman. Antarmuka memungkinkan Anda menentukan peta tata letak visual, yang memetakan setiap nama visual ke objek tata letak baru, dan tata letak visual default. Menentukan tata letak halaman bersifat opsional. Jika Anda tidak menyediakan tata letak untuk laporan, Power BI menerapkan tata letak default ke laporan. Artinya, tata letak default adalah apa yang berlaku untuk semua visual yang tidak Anda tentukan dalam objek tata letak visual. Misalnya, Anda awalnya dapat menyembunyikan semua visual dalam laporan, lalu menampilkan visual yang dipilih dalam tata letak pilihan Anda.
interface IPageLayout {
defaultLayout: IVisualLayout,
visualsLayout: { [key: string]: IVisualLayout; };
}
Antarmuka
defaultLayout
- ObjekIVisualLayout
yang menentukan tata letak visual default. Tata letak default secara otomatis diterapkan ke semua visual di halaman laporan.defaultLayout?: IVisualLayout
visualsLayout
- ObjekVisualsLayout
yang menentukan peta antara nama visual dan tata letak visual di halaman laporan.visualsLayout: VisualsLayout
VisualsLayout = { [key: string]: IVisualLayout; }
Menentukan tata letak visual
Untuk menentukan tata letak visual, gunakan antarmuka IVisualLayout
untuk membuat objek tata letak visual dan mengatur posisi, ukuran, dan visibilitasnya.
interface IVisualLayout {
x?: number;
y?: number;
z?: number;
width?: number;
height?: number;
displayState?: IVisualContainerDisplayState;
}
Antarmuka IVisualLayout memiliki properti berikut:
x
,y
,z
- Menentukan koordinat x, y, dan z visual.width
,height
- Menentukan lebar dan tinggi visual.displayState
- ObjekIVisualContainerDisplayState
yang menentukan visibilitas visual.interface IVisualContainerDisplayState { mode: VisualContainerDisplayMode; }
Objek
IVisualContainerDisplayState
menggunakan enumVisualContainerDisplayMode
untuk mengatur visibilitas:enum VisualContainerDisplayMode { Visible, Hidden }
Memperbarui tata letak
Untuk memperbarui tata letak laporan saat laporan sudah dimuat, gunakan metode report.updateSettings
. Untuk informasi selengkapnya, lihat Memperbarui pengaturan laporan saat runtime.
Contoh
Contoh kode lengkap ini menunjukkan cara menyematkan laporan dengan tata letak laporan kustom. Semua visual disembunyikan kecuali untuk dua visual: VisualContainer1 dan VisualContainer2. VisualContainer1 memiliki tata letak, posisi, dan ukuran baru, sementara VisualContainer2 terlihat dengan tata letak default laporan.
// Get models. Models contains enums that can be used.
let models = window['powerbi-client'].models;
let embedConfig = {
type: 'report',
id: reportId,
embedUrl: 'https://app.powerbi.com/reportEmbed',
tokenType: models.TokenType.Embed,
accessToken: 'H4...rf',
settings: {
layoutType: models.LayoutType.Custom
customLayout: {
pageSize: {
type: models.PageSizeType.Custom,
width: 1600,
height: 1200
},
displayOption: models.DisplayOption.ActualSize,
pagesLayout: {
"ReportSection1" : {
defaultLayout: {
displayState: {
mode: models.VisualContainerDisplayMode.Hidden
}
},
visualsLayout: {
"VisualContainer1": {
x: 1,
y: 1,
z: 1,
width: 400,
height: 300,
displayState: {
mode: models.VisualContainerDisplayMode.Visible
}
},
"VisualContainer2": {
displayState: {
mode: models.VisualContainerDisplayMode.Visible
}
},
}
}
}
}
}
};
...
// Embed the report and display it within the div container.
let report = powerbi.embed(embedContainer, embedConfig);