Améliorer l’expérience de vos utilisateurs avec des signets
Les signets de rapport dans Power BI vous permettent de capturer l’état actuel d’une page de rapport incorporée, y compris tous les filtres et l’état de ses visuels. Lorsque vous ouvrez le rapport ultérieurement, vous pouvez sélectionner le signet pour restaurer le rapport à l’état enregistré. Les développeurs peuvent contrôler l’expérience utilisateur à l’aide des API du client Power BI pour capturer et appliquer des signets.
Un signet enregistré peut être un signet enregistré dans le cadre d’un rapport ou un signet capturé en tant qu’état en temps réel d’un rapport. Si vous appliquez un signet enregistré lorsque vous chargez un rapport, vous pouvez spécifier le signet à utiliser en fournissant le nom du signet ou son état. Si vous fournissez un signet par nom, votre rapport doit contenir un signet enregistré portant le même nom.
Cet article explique les différents paramètres d’API dont vous aurez besoin pour incorporer des rapports qui prennent en charge les signets.
Notes
Dans les rapports que vous incorporez pour votre organisation, les consommateurs de rapports créent des signets personnels en capturant l’état du rapport et en retournant rapidement à cet état en sélectionnant le signet. Pour plus d’informations, consultez Signets personnels .
Pour plus d’informations sur la création d’une expérience similaire dans les rapports que vous incorporez pour vos clients, consultez la présentation de l’affichage des rapports de capture dans le terrain de jeu d’analytique incorporée Power BI.
Pour plus d’informations sur l’utilisation de signets dans Power BI, consultez Créer des signets dans Power BI Desktop.
Pour plus d’informations sur l’utilisation de signets personnels lors de l’incorporation de Power BI, consultez Signets personnels.
Utilisation des signets de rapport
Les sections suivantes montrent comment utiliser les API du client Power BI pour utiliser les signets de rapport.
Gérer les signets d’un rapport
Pour gérer les signets d’un rapport, utilisez la bookmarksManager
propriété d’une instance de rapport incorporée.
La classe BookmarksManager utilise les méthodes suivantes :
getBookmarks
- Retourne une liste de signets enregistrés associés au rapport.apply
- Applique par nom un signet précédemment enregistré au rapport.capture
- Capture et retourne une chaîne de sérialisation en base64, qui représente l’état actuel du rapport.applyState
Applique un état de sérialisation base64 précédemment capturé d’un signet au rapport.play
- Contrôle le mode de présentation du diaporama pour les signets du rapport.
Accéder à un signet de rapport
Pour accéder à un signet individuel, utilisez la getBookmarks
méthode pour accéder à une liste d’objets ReportBookmark
.
La classe ReportBookmark
a les propriétés suivantes:
name
- Identificateur unique du signet de rapport.displayName
- Nom complet du signet de rapport, qui s’affiche dans le volet Signets .state
- Sérialisation en base64 de l’état du signet de rapport. Vous pouvez l’enregistrer et l’appliquer à un rapport avec labookmarksManager.applyState
méthode .children
- Liste d’objetsReportBookmark
représentant un groupe de signets de rapport, s’il existe.
Utiliser les API de signets de rapport
Dans un rapport incorporé, les développeurs peuvent :
- Obtenez la liste des signets de rapport enregistrés.
- Appliquez un signet enregistré par nom lors du chargement du rapport ou pendant une session.
- Capturez et obtenez une vue actuelle en tant qu’objet bookmark.
- Appliquer un état de signet capturé lors du chargement du rapport ou pendant une session
- Effectuez une logique supplémentaire lorsqu’un signet de rapport est appliqué.
- Afficher ou masquer le volet Signets.
- Entrez ou quittez le mode diaporama des signets.
Obtenir la liste des signets de rapport enregistrés
Pour obtenir la liste des signets enregistrés associés à un rapport, appelez la getBookmarks
méthode de l’objet BookmarksManager retourné par la propriété du bookmarksManager
rapport.
La getBookmarks
méthode est définie comme suit :
getBookmarks(): Promise<models.IReportBookmark[]>
Par exemple :
let bookmarks = await report.bookmarksManager.getBookmarks();
Appliquer un signet enregistré par nom lors du chargement du rapport ou pendant une session
Pour appliquer un signet précédemment enregistré à un rapport à l’aide de son nom de signet, appelez la apply
méthode de l’objet BookmarksManager retourné par la propriété d’un bookmarksManager
rapport.
Pour plus d’informations, consultez Configurer les paramètres de rapport.
La apply
méthode est définie comme suit :
apply(bookmarkName: string): Promise<void>
Par exemple :
await report.bookmarksManager.apply("Bookmark1234");
Capturer et obtenir une vue actuelle en tant qu’objet signet
Pour capturer l’état actuel d’un rapport en tant que chaîne base64, appelez la capture
méthode d’un objet BookmarksManager . La capture
méthode retourne un IReportBookmark
objet, qui représente un signet qui n’est pas enregistré dans un rapport spécifique. Utilisez la IReportBookmark.state
propriété pour renvoyer la chaîne base64 identifiant l’état de signet, que vous pouvez appliquer ultérieurement à un rapport au moment du chargement ou de l’exécution.
La capture
méthode est définie comme suit :
capture(options?:ICaptureBookmarkOptions): Promise<models.IReportBookmark>
Par exemple :
let capturedBookmark = await report.bookmarksManager.capture();
Options de signet de capture
Vous pouvez également passer un ICaptureBookmarkOptions
objet à la capture
méthode .
interface ICaptureBookmarkOptions {
allPages?: boolean;
personalizeVisuals?: boolean;
}
allPages
- Par défaut, l’état de signet capturé enregistre uniquement l’état de la page actuelle. Pour capturer l’état de toutes les pages, appelezcapture
la méthode avec l’optionallPages
définie surtrue
.personalizeVisuals
- Pour capturer l’état actuel avec des visuels personnalisés, appelez lacapture
méthode avec l’optionpersonalizeVisuals
définie surtrue
.
Par exemple, le code suivant capture l’état de toutes les pages, y compris les visuels personnalisés :
let capturedBookmark = await report.bookmarksManager.capture({
allPages: true,
personalizeVisuals: true
});
Appliquer un état de signet capturé lors du chargement du rapport ou pendant une session
Pour appliquer un état de signet précédemment capturé à un rapport, utilisez la applyState
méthode d’un objet BookmarksManager .
Pour plus d’informations, consultez Configurer les paramètres de rapport.
La applyState
méthode est définie comme suit :
applyState(state: string): Promise<void>
Par exemple :
await report.bookmarksManager.applyState(capturedBookmark.state);
Effectuer une logique supplémentaire lorsqu’un signet de rapport est appliqué
Pour déterminer quand un signet de rapport a été appliqué, écoutez l’événement bookmarkApplied
en appelant la on
méthode de l’objet de rapport .
Par exemple :
report.on("bookmarkApplied", (event) => {
console.log(event.detail.name);
});
Afficher ou masquer le volet Signets
Pour afficher ou masquer le volet Signets Power BI, mettez à jour la panes
propriété des paramètres du rapport.
Afficher le volet Signets
let embedConfig = {
...
panes: {
bookmarks: {
visible: true
}
}
};
Masquer le volet Signets
let embedConfig = {
...
panes: {
bookmarks: {
visible: false
}
}
};
Pour plus d’informations sur la mise à jour des paramètres de rapport, consultez Configurer les paramètres de rapport.
Entrer ou quitter le mode diaporama des signets
Pour contrôler le mode de présentation du diaporama pour les signets d’un rapport, appelez la play
méthode d’un objet BookmarksManager . Pour plus d’informations, consultez Signets en tant que diaporama.
La play
méthode est définie comme suit :
play(playMode: models.BookmarksPlayMode): Promise<void>
Notes
Avant d’entrer le mode diaporama des signets, assurez-vous qu’il existe au moins un signet sur le rapport avec l’API getBookmarks.
Entrer le mode de présentation du diaporama
await report.bookmarksManager.play(models.BookmarksPlayMode.Presentation);
Quitter le mode présentation du diaporama
await report.bookmarksManager.play(models.BookmarksPlayMode.Off);
Limites
Lorsque vous utilisez l’API signets, certaines modifications apportées au rapport peuvent provoquer une erreur ou un résultat inattendu. La suppression des filtres de rapport du rapport en est un exemple. Pour éviter les erreurs, les cartes de filtre correspondantes doivent être présentes. Au lieu de supprimer les filtres, définissez leurs valeurs sur
All
. Si vous ne savez pas quels filtres ont été supprimés ou modifiés, recapturez le signet après avoir appliqué les modifications au rapport.Les filtres tels que sur les filtres de chargement créés par la session incorporée ou ajoutés par l’opération d’ajout de filtres de mise à jour, sont capturés dans l’état de signet, mais seront appliqués uniquement dans la session active. Pour surmonter cette limitation, le filtre doit être enregistré dans le rapport avec la
All
valeur et modifié dans la session d’incorporation à l’aide de l’opération de mise à jour des filtres de mise à jour.