Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Osadzona analiza usługi Power BI powerbi.load i interfejsy API report.render mogą poprawić środowisko użytkownika końcowego, zapewniając deweloperom większą elastyczność osadzania raportów fazowych.
Zwykle raport osadzony jest ładowany przy użyciu powerbi.embed:
let report = powerbi.embed(embedContainer, embedConfig);
Osadzony raport ładuje i renderuje w interfejsie użytkownika. Następnie użytkownik końcowy widzi wszelkie interakcje z renderowanym raportem. Jeśli na przykład zastosujesz stan fragmentatora, użytkownik końcowy zobaczy, że fragmentator zostanie zastosowany po renderowaniu raportu.
Aby ukryć te interakcje przed użytkownikami końcowymi, interfejsy API powerbi.load i report.render dzielą proces osadzania na fazy. Funkcja powerbi.load ładuje raport, aby umożliwić interakcję z elementami, zanim użytkownicy końcowi zobaczą wyniki. Następnie funkcja report.render wyświetla raport.
Ładunek
Funkcja powerbi.load ładuje raport, ale go nie renderuje, więc interakcje mogą wystąpić przed wyświetleniem wyników przez użytkownika końcowego. Na przykład możesz użyć powerbi.load z report.getPages, a następnie określić, która strona ma być wyświetlana użytkownikowi końcowemu. Możesz też użyć page.getVisuals, a następnie zdecydować, które wizualizacje mają być wyświetlane lub ukrywane.
Podobnie jak powerbi.embed, funkcja powerbi.load wymaga elementu HTML i obiektu IEmbedConfiguration.
Po zakończeniu ładowania zostanie wyzwolony loaded zdarzenie.
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() {
...
});
Renderować
Jeśli używasz powerbi.load, należy wywołać funkcję report.render w funkcji obsługi zdarzeń loaded po uruchomieniu kodu. Użyj report.render, aby kontynuować renderowanie raportu i wyświetlić osadzony raport.
Zdarzenie rendered jest uruchamiane po zakończeniu renderowania raportu.
report.on('loaded', function() {
report.render();
});
report.on('rendered', () => {
...
});
Aby uzyskać więcej informacji na temat obsługi zdarzeń, zobacz Jak obsługiwać zdarzenia.
Przykład
Poniższy przykład kodu ładuje raport, ustawia filtry, a następnie renderuje filtrowany raport.
// 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();
});
Zagadnienia i ograniczenia
Osadzanie etapowe może spowalniać renderowanie raportów, dlatego należy używać go poprawnie i tylko wtedy, gdy jest to potrzebne.
Następujące interfejsy API można wywołać po załadowaniu raportu i przed wywołaniem report.render:
| Metoda | Akcja |
|---|---|
| BookmarksManager.getBookmarks, BookmarksManager.apply | Pobieranie i stosowanie zakładek. Przechwytywanie zakładek nie jest obsługiwane. |
| Report.updateSettings | Aktualizowanie ustawień raportu. |
| Report.applyTheme | Zastosuj motyw raportu. |
| Report.getFilters, Report.setFilters, Report.removeFilters | Pobieranie, ustawianie i usuwanie filtrów raportów. |
| Report.getPages | Pobierz strony raportu. |
| Page.setActive | Ustaw aktywną stronę raportu. |
| Page.getFilters, Page.setFilters, Page.removeFilters | Pobieranie, ustawianie i usuwanie filtrów stron. |
| Page.getVisuals | Pobieranie wizualizacji strony. |
| Visual.getFilters, Visual.setFilters, Visual.removeFilters | Pobieranie, ustawianie i usuwanie filtrów wizualizacji. |
| Visual.getSlicerState, Visual.setSlicerState | Pobieranie i ustawianie stanu fragmentatora wizualizacji. |
Powiązana zawartość
- ulepszanie środowiska użytkowników za pomocą zakładek
- stosowanie motywów raportów w usłudze Power BI
- filtry raportów kontroli
- fragmentatory raportów kontroli
- Pobieranie stron i wizualizacji