Ulepszanie środowiska użytkowników za pomocą zakładek
Zakładki raportów w usłudze Power BI umożliwiają przechwytywanie bieżącego stanu osadzonej strony raportu, w tym wszystkich filtrów i stanu jego wizualizacji. Po otwarciu raportu w późniejszym czasie możesz wybrać zakładkę, aby przywrócić raport do zapisanego stanu. Deweloperzy mogą kontrolować środowisko użytkownika przy użyciu interfejsów API klienta usługi Power BI do przechwytywania i stosowania zakładek.
Zapisana zakładka może być zakładką zapisaną w ramach raportu lub zakładką przechwyconą jako stan raportu w czasie rzeczywistym. Jeśli zastosujesz zapisaną zakładkę podczas ładowania raportu, możesz określić zakładkę do użycia, podając nazwę zakładki lub jej stan. Jeśli podasz zakładkę według nazwy, raport musi zawierać zapisaną zakładkę o tej samej nazwie.
W tym artykule wyjaśniono różne ustawienia interfejsu API, które należy osadzić raporty obsługujące zakładki.
Nuta
W raportach osadzasz dla organizacjiużytkownicy raportów tworzą zakładki osobiste, przechwytując stan raportu i szybko wracając do tego stanu, wybierając zakładkę. Aby uzyskać więcej informacji, zobacz Osobiste zakładki.
Aby uzyskać informacje na temat sposobu tworzenia podobnego środowiska w raportach osadzanych dla klientów, zobacz widoku raportu przechwytywania w centrum zabaw osadzonej analizy usługi Power BI.
Aby uzyskać więcej informacji na temat używania zakładek w usłudze Power BI, zobacz Tworzenie zakładek w programie Power BI Desktop.
Aby uzyskać informacje na temat używania zakładek osobistych podczas osadzania usługi Power BI, zobacz Zakładki osobiste.
Jak używać zakładek raportu
W poniższych sekcjach pokazano, jak używać interfejsów API klienta usługi Power BI do pracy z zakładkami raportów.
Zarządzanie zakładkami raportu
Aby zarządzać zakładkami raportu, użyj właściwości bookmarksManager
wystąpienia osadzonego raportu .
Klasa BookmarksManager ma następujące metody:
getBookmarks
— zwraca listę zapisanych zakładek skojarzonych z raportem.apply
— stosuje się według nazwy wcześniej zapisanej zakładki do raportu.capture
— przechwytuje i zwraca ciąg serializacji base64, który reprezentuje bieżący stan raportu.applyState
Stosuje wcześniej przechwycony stan serializacji base64 zakładki do raportu.play
— steruje trybem prezentacji pokazu slajdów dla zakładek raportu.
Uzyskiwanie dostępu do zakładki raportu
Aby uzyskać dostęp do pojedynczej zakładki, użyj metody getBookmarks
, aby uzyskać dostęp do listy obiektów ReportBookmark
.
Klasa ReportBookmark
ma następujące właściwości:
name
— unikatowy identyfikator zakładki raportu.— nazwa wyświetlana zakładki raportu wyświetlana wyświetlana w okienku zakładek . state
— serializacji base64 stanu zakładki raportu. Możesz go zapisać i zastosować do raportu przy użyciu metodybookmarksManager.applyState
.children
— lista obiektówReportBookmark
reprezentujących grupę zakładek raportu, jeśli istnieje.
Korzystanie z interfejsów API zakładek raportów
W osadzonym raporcie deweloperzy mogą wykonywać następujące czynności:
- Pobierz listę zapisanych zakładek raportu.
- Zastosuj zapisaną zakładkę według nazwy podczas ładowania raportu lub podczas sesji.
- przechwytywania i uzyskiwania bieżącego widoku jako obiektu zakładki.
- stosowanie przechwyconego stanu zakładki podczas ładowania raportu lub podczas sesji
- Wykonaj dodatkową logikę, gdy zakładka raportu jest stosowana.
- Pokaż lub ukryj okienko Zakładki.
- w trybie pokazu slajdów wprowadź lub zakończ zakładki.
Pobieranie listy zapisanych zakładek raportu
Aby uzyskać listę zapisanych zakładek skojarzonych z raportem, wywołaj metodę getBookmarks
obiektu BookmarksManager zwróconego przez właściwość bookmarksManager
raportu.
Metoda getBookmarks
jest zdefiniowana w następujący sposób:
getBookmarks(): Promise<models.IReportBookmark[]>
Na przykład:
let bookmarks = await report.bookmarksManager.getBookmarks();
Stosowanie zapisanej zakładki według nazwy podczas ładowania raportu lub podczas sesji
Aby zastosować wcześniej zapisaną zakładkę do raportu przy użyciu nazwy zakładki, wywołaj metodę apply
obiektu BookmarksManager zwróconego przez właściwość bookmarksManager
raportu.
Aby uzyskać więcej informacji, zobacz Konfigurowanie ustawień raportu.
Metoda apply
jest zdefiniowana w następujący sposób:
apply(bookmarkName: string): Promise<void>
Na przykład:
await report.bookmarksManager.apply("Bookmark1234");
Przechwytywanie i pobieranie bieżącego widoku jako obiektu zakładki
Aby przechwycić bieżący stan raportu jako ciąg base64, wywołaj metodę capture
obiektu BookmarksManager. Metoda capture
zwraca obiekt IReportBookmark
, który reprezentuje zakładkę, która nie jest zapisywana w określonym raporcie. Użyj właściwości IReportBookmark.state
, aby zwrócić ciąg base64 identyfikujący stan zakładki, który można później zastosować do raportu w czasie ładowania lub czasie wykonywania.
Metoda capture
jest zdefiniowana w następujący sposób:
capture(options?:ICaptureBookmarkOptions): Promise<models.IReportBookmark>
Na przykład:
let capturedBookmark = await report.bookmarksManager.capture();
Opcje zakładki przechwytywania
Można również przekazać obiekt ICaptureBookmarkOptions
do metody capture
.
interface ICaptureBookmarkOptions {
allPages?: boolean;
personalizeVisuals?: boolean;
}
-
allPages
— domyślnie przechwycony stan zakładki spowoduje zapisanie tylko bieżącego stanu strony. Aby przechwycić stan wszystkich stron, wywołaj metodęcapture
z opcjąallPages
ustawioną natrue
. -
personalizeVisuals
— aby przechwycić bieżący stan za pomocą spersonalizowanych wizualizacji, wywołaj metodęcapture
z opcjąpersonalizeVisuals
ustawioną natrue
.
Na przykład poniższy kod przechwytuje stan wszystkich stron, w tym spersonalizowane wizualizacje:
let capturedBookmark = await report.bookmarksManager.capture({
allPages: true,
personalizeVisuals: true
});
Stosowanie przechwyconego stanu zakładki podczas ładowania raportu lub podczas sesji
Aby zastosować wcześniej przechwycony stan zakładki do raportu, użyj metody applyState
obiektu BookmarksManager.
Aby uzyskać więcej informacji, zobacz Konfigurowanie ustawień raportu.
Metoda applyState
jest zdefiniowana w następujący sposób:
applyState(state: string): Promise<void>
Na przykład:
await report.bookmarksManager.applyState(capturedBookmark.state);
Wykonywanie dodatkowej logiki po zastosowaniu zakładki raportu
Aby określić, kiedy została zastosowana zakładka raportu, nasłuchuj zdarzenia
Na przykład:
report.on("bookmarkApplied", (event) => {
console.log(event.detail.name);
});
Pokaż lub ukryj okienko Zakładki
Aby wyświetlić lub ukryć okienko zakładek usługi Power BI
Pokaż okienko Zakładki
let embedConfig = {
...
panes: {
bookmarks: {
visible: true
}
}
};
Ukryj okienko Zakładki
let embedConfig = {
...
panes: {
bookmarks: {
visible: false
}
}
};
Aby uzyskać informacje na temat aktualizowania ustawień raportu, zobacz Konfigurowanie ustawień raportu.
Wprowadzanie lub zamykanie trybu pokazu slajdów zakładek
Aby kontrolować tryb prezentacji pokazu slajdów dla zakładek raportu, wywołaj metodę play
obiektu BookmarksManager. Aby uzyskać więcej informacji, zobacz Zakładki jako pokaz slajdów.
Metoda play
jest zdefiniowana w następujący sposób:
play(playMode: models.BookmarksPlayMode): Promise<void>
Nuta
Przed wprowadzeniem trybu pokazu slajdów zakładek upewnij się, że w raporcie znajduje się co najmniej jedna zakładka z interfejsem API getBookmarks.
Wprowadzanie trybu prezentacji pokazu slajdów
await report.bookmarksManager.play(models.BookmarksPlayMode.Presentation);
Zamknij tryb prezentacji pokazu slajdów
await report.bookmarksManager.play(models.BookmarksPlayMode.Off);
Zagadnienia i ograniczenia
W przypadku korzystania z interfejsu API zakładek niektóre zmiany w raporcie mogą spowodować błąd lub nieoczekiwany wynik. Jednym z przykładów jest usunięcie filtrów raportów z raportu. Aby uniknąć błędów, odpowiednie karty filtrów muszą być obecne. Zamiast usuwać filtry, ustaw ich wartości na
All
. Jeśli nie wiesz, które filtry zostały usunięte lub zmienione, przypomnij zakładkę po zastosowaniu zmian w raporcie.Filtry, takie jak filtrów ładowania utworzone przez sesję osadzania lub dodane przez filtry aktualizacji dodają operację, są przechwytywane w stanie zakładki, ale będą stosowane tylko w bieżącej sesji. Aby wyeliminować to ograniczenie, filtr powinien zostać zapisany w raporcie z wartością
All
i zmodyfikowany w sesji osadzania przy użyciu operacji aktualizacji filtrów aktualizacji .
Powiązana zawartość
- filtry raportów kontroli
- fragmentatory raportów kontroli
- Jak obsługiwać zdarzenia