Sdílet prostřednictvím


Použití fázovaného vkládání

Vložené analytické powerbi.load Power BI a rozhraní API pro report.render můžou zlepšit uživatelské prostředí tím, že vývojářům poskytne větší flexibilitu při vkládání sestav fází.

Za normálních okolností načtete vloženou sestavu pomocí powerbi.embed:

let report = powerbi.embed(embedContainer, embedConfig);

Vložená sestava se načte a vykreslí v uživatelském rozhraní. Koncový uživatel pak uvidí všechny interakce s vykreslovanou sestavou. Pokud například použijete stav průřezu, koncový uživatel uvidí, že se průřez projeví po vykreslení sestavy.

Pokud chcete tyto interakce před koncovými uživateli skrýt, powerbi.load a report.render rozhraní API rozdělí proces vkládání do fází. Funkce powerbi.load načte sestavu, abyste mohli pracovat s položkami, než koncoví uživatelé uvidí výsledky. Funkce report.render pak zobrazí sestavu.

Náklad

Funkce powerbi.load načte sestavu, ale nevykreslí ji, takže interakce můžou nastat předtím, než koncový uživatel uvidí výsledky. Můžete například použít powerbi.load s report.getPagesa určit, která stránka se má koncovému uživateli zobrazit. Nebo můžete použít page.getVisualsa pak rozhodnout, které vizuály se mají zobrazit nebo skrýt.

Podobně jako powerbi.embedvyžaduje funkce powerbi.load element HTML a objekt IEmbedConfiguration.

Po dokončení zatížení se aktivuje událost loaded.

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() {
    ...
});

Poskytnout

Pokud používáte powerbi.load, musíte po spuštění kódu zavolat funkci report.render na funkci obslužné rutiny události loaded. Pomocí report.render můžete pokračovat v vykreslování sestavy a zobrazit vloženou sestavu.

Událost rendered se aktivuje, když se sestava dokončí vykreslování.

report.on('loaded', function() {
    report.render();
});

report.on('rendered', () => {
    ...
});

Další informace o zpracování událostí naleznete v tématu Zpracování událostí.

Příklad

Následující příklad kódu načte sestavu, nastaví filtry a pak vykreslí filtrovanou sestavu.

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

Důležité informace a omezení

Postupné vkládání může zpomalit vykreslování sestav, proto ho nezapomeňte použít správně a jenom v případě, že ho potřebujete.

Po načtení sestavy a před voláním report.rendermůžete volat následující rozhraní API:

Metoda Akce
BookmarksManager.getBookmarks, BookmarksManager.apply Získejte a použijte záložky. Zachytávání záložek se nepodporuje.
Report.updateSettings Aktualizujte nastavení sestavy.
Report.applyTheme Použijte motiv sestavy.
Report.getFilters, Report.setFilters, Report.removeFilters Získejte, nastavte a odeberte filtry sestav.
Report.getPages Získejte stránky sestavy.
Page.setActive Nastavte aktivní stránku sestavy.
Page.getFilters, Page.setFilters, Page.removeFilters Získejte, nastavte a odeberte filtry stránek.
Page.getVisuals Získejte vizuály stránky.
Visual.getFilters, Visual.setFilters, Visual.removeFilters Získejte, nastavte a odeberte filtry vizuálů.
Visual.getSlicerState, Visual.setSlicerState Získejte a nastavte stav průřezu vizuálu.