Aşamalı ekleme kullanma
Power BI tümleşik analiz powerbi.load
ve report.render
API'leri, geliştiricilere rapor ekleme aşamaları için daha fazla esneklik sağlayarak son kullanıcı deneyimini geliştirebilir.
Normalde, powerbi.embed
kullanarak eklenmiş bir rapor yüklersiniz:
let report = powerbi.embed(embedContainer, embedConfig);
Eklenen rapor, kullanıcı arabiriminde yüklenir ve işlenir. Ardından son kullanıcı, işlenen raporla tüm etkileşimleri görür. Örneğin, bir dilimleyici durumu uygularsanız, son kullanıcı rapor işlendikten sonra dilimleyicinin etkili olduğunu görür.
Bu etkileşimleri son kullanıcılardan gizlemek için powerbi.load
ve report.render
API'leri ekleme işlemini aşamalara ayırır.
powerbi.load
işlevi, son kullanıcılar sonuçları görmeden önce öğelerle etkileşim kurabilmeniz için raporu yükler. ardından report.render
işlevi raporu görüntüler.
Yük
powerbi.load
işlevi raporu yükler ancak işlemez, bu nedenle son kullanıcı sonuçları görmeden etkileşimler gerçekleşebilir. Örneğin, report.getPages
ile powerbi.load
kullanabilir ve ardından son kullanıcının hangi sayfayı göstereceğini belirtebilirsiniz. Alternatif olarak, page.getVisuals
kullanabilir ve ardından hangi görsellerin gösterilip gizleneceğine karar vekleyebilirsiniz.
powerbi.embed
gibi powerbi.load
işlevi de bir HTML öğesi ve IEmbedConfiguration nesnesi gerektirir.
Yük tamamlandığında, bir loaded
olayı tetiklenir.
let config = {
...
};
// Get a reference to the embedded report HTML element.
let embedContainer = $('#embedContainer')[0];
// Load the report in the container.
let report = powerbi.load(embedContainer, config);
report.on('loaded', function() {
...
});
Render
powerbi.load
kullanıyorsanız kodunuzu çalıştırdıktan sonra loaded
olay işleyicisi işlevinde report.render
işlevini çağırmanız gerekir. Rapor işlemeye devam etmek ve eklenmiş raporu görüntülemek için report.render
kullanın.
Rapor işleme tamamlandığında bir rendered
olayı tetiklenir.
report.on('loaded', function() {
report.render();
});
report.on('rendered', () => {
...
});
Olayları işleme hakkında daha fazla bilgi için olayları işleme bölümüne bakın.
Örnek
Aşağıdaki kod örneği bir raporu yükler, filtreleri ayarlar ve filtrelenmiş raporu işler.
// Build the config object.
let config = {
type: 'report',
tokenType: TokenType.Embed,
accessToken: ...,
embedUrl: ...,
id: ...,
...
};
// Get a reference to the embedded report HTML element.
let embedContainer = $('#embedContainer')[0];
// Load the report in the container.
let report = powerbi.load(embedContainer, config);
...
report.on('loaded', async () => {
await report.setFilters(filters);
report.render();
});
Dikkat edilmesi gerekenler ve sınırlamalar
Aşamalı ekleme, rapor işlemeyi yavaşlatabilir, bu nedenle doğru ve yalnızca ihtiyacınız olduğunda kullandığınızdan emin olun.
Raporu yükledikten sonra ve report.render
çağırmadan önce aşağıdaki API'leri çağırabilirsiniz:
Yöntem | Eylem |
---|---|
BookmarksManager.getBookmarks, BookmarksManager.apply | Yer işaretlerini alın ve uygulayın. Yer işaretlerinin yakalanması desteklenmez. |
Report.updateSettings | Rapor ayarlarını güncelleştirin. |
Report.applyTheme | Rapor temasını uygulayın. |
Report.getFilters, Report.setFilters, Report.removeFilters | Rapor filtrelerini alın, ayarlayın ve kaldırın. |
Report.getPages | Rapor sayfalarını alın. |
Page.setActive | Etkin rapor sayfasını ayarlayın. |
Page.getFilters, Page.setFilters, Page.removeFilters | Sayfa filtrelerini alın, ayarlayın ve kaldırın. |
Page.getVisuals | Sayfa görsellerini alma. |
Visual.getFilters, Visual.setFilters, Visual.removeFilters | Görsel filtreleri alın, ayarlayın ve kaldırın. |
Visual.getSlicerState, Visual.setSlicerState |
Görsel dilimleyici durumunu alma ve ayarlama. |
İlgili içerik
- Yer işaretleri kullanıcılarınızın deneyimini geliştirme
- Power BI'da rapor temaları uygulama
- Denetim raporu filtreleri
- rapor dilimleyicilerini
- sayfaları ve görselleri alma