Vous êtes responsable de la gestion d’un environnement Power BI ? Des statistiques sur vos rapports Power BI vous aideraient à démontrer votre impact, à prioriser la mise en avant de rapports, ou à améliorer les performances d’actualisation et/ou d’utilisation. Pourquoi alors ne pas utiliser Power BI pour monitorer Power BI ?!
Les données de Power BI
Power BI, la solution de visualisation de données de Microsoft, stocke ses données dans une base de données. Pour en extraire les informations nécessaires à nos rapports, on peut utiliser deux techniques différentes :
- Les APIs REST de Microsoft – elles feront l’objet d’un futur tuto
- L’accès direct à la base de données – c’est ce que vous révèle ce tuto.
Définir son projet
La conception de rapports pour monitorer l’activité Power BI est un projet comme un autre, et il nous faut donc connaître :
- L’audience du/des rapport(s)
- Les objectifs (volumétrie, monitoring de performance, suivi de niveaux de service (SLAs, OLAs)
- Les métriques
- Les visuels (à ce sujet, nous vous conseillons de lire aussi l’article : « Comment utiliser Python dans Power BI ?« )
- Les actions, les filtres
En ce qui nous concerne, on va d’abord essayer de répondre aux questions suivantes :
- Quels rapports Power BI gère-t-on ?
- Qui sont nos utilisateurs ?
- Quels rapports sont les plus consultés ?
- Qui consulte ces rapports ?
- À quelle fréquence sont-ils consultés ?
- À quel moment les utilisateurs consultent-ils les rapports ?
- Comment se passe l’actualisation de ces rapports ?
La base de données
Une fois définies les données nécessaires, il faut obtenir d’un administrateur de bases de données (DBA), l’URL de la base de données Power BI, ainsi qu’une authentification (utilisateur et mot de passe). Dans Power BI Desktop on « attaque » une source de données SQL server, et on est alors face à une cinquantaine de tables et vues. Il est très intéressant de les explorer, mais le volume de données (et surtout de données inutiles à notre projet) rend tout de suite évident qu’il faudra élaguer le modèle de données.
L’Active Directory
On pourrait se contenter des données de Power BI, mais il serait plus élégant d’afficher le nom utilisateur « en clair ». Les rapports seraient également plus riches si on disposait d’informations complémentaires comme son responsable hiérarchique, son service, son site de rattachement, le pays, etc.
On va pour cela accéder à l’Active Directory du domaine.
Il suffit de sélectionner le type de source de données « Active Directory ».
On saisit alors le domaine (ex : monentreprise.com).
Cette fois ce sont de 200 tables qui sont disponibles !
💡 Seules quelques-unes nous seront cependant utiles. Mais on peut profiter de l’opportunité pour proposer ses services aux gens de l’infra : ils pourraient en effet être intéressés par des statistiques comme le nombre d’ordinateurs par OS ou par année, le nombre d’imprimantes par driver ou par nombre de pages minute, etc.
Pour ce tuto, nous utiliserons les tables contact (pour l’identité et les coordonnées d’un utilisateur), group (pour les groupes d’utilisateurs et leurs membres), organizationalPerson (pour les groupes dont il est membre et pour la photo), et user (pour les données utilisateurs).
Une fois les tables comprises, peu de transformations sont nécessaires. Voici les moins évidentes :
- La fonction de l’utilisateur se cache dans top.l
- On utilisera top.msDS-PrincipalName comme identifiant utilisateur
- On préfixera thumbnailPhoto par « data:image/jpeg;base64 » pour l’URL de la photo à afficher dans le rapport ; on n’oubliera pas de catégoriser ce champ comme « URL de l’image ».
Les rapports
Nous allons ici regrouper nos indicateurs en fonction du monitoring : un rapport pour vérifier les autorisations, un autre pour suivre l’utilisation des rapports et un troisième pour suivre les actualisations.
Le rapport sur les autorisations, issu de l’Active Directory
📌 Un onglet liste les groupes dont un utilisateur est membre.
📌 Un autre onglet liste les membres d’un groupe.
📌 Un troisième onglet présente la géolocalisation des utilisateurs.
Le rapport sur les utilisations
📌 Une page d’accueil avec quelques chiffres, comme le nombre de dossiers, de rapports, d’utilisateurs…
📌 Un onglet sur les consultations ; en période glissante, par jour de la semaine, par heure de la journée.
📌 Un onglet pour le top (top 10 utilisateurs, top 5 rapports, top 5 services).
📌 Un onglet pour les détails d’un rapport.
Le rapport sur les actualisations
📌 Un onglet pour le statut de la dernière actualisation ; il permettra de corriger les actualisations qui ont échoué, et d’identifier les actualisations problématiques.
📌 Un onglet pour l’historique de la durée d’actualisation ; il permettra de suivre les performances, pour s’assurer que leur durée est acceptable et pour voir comment elle évolue.
Une mine d’informations
Nous avons ainsi vu dans cet article comment exploiter les données de Power BI pour monitorer les différentes activités d’administration. Mais je n’ai présenté ici qu’une partie des informations disponibles. La base de données est une véritable mine, et il ne tient qu’à vous de l’exploiter en fonction de vos besoins propres.
👉 Retrouvez toute notre actu en temps réel en nous suivant sur LinkedIn 👈
Votre adresse de messagerie est uniquement utilisée par Business & Decision, responsable de traitement, aux fins de traitement de votre demande et d’envoi de toute communication de Business & Decision en relation avec votre demande uniquement. En savoir plus sur la gestion de vos données et vos droits.