Skip to content

Thème 4 — Gouvernance, optimisation et automatisation

Informations générales

Thème
Gouvernance, optimisation des performances et automatisation
Durée
3h00 (pause incluse)
Positionnement
Jour 2 — Séquences 3 et 4 (après-midi)
Public visé
Administrateurs Power BI, équipes DSI, architectes de données
Prérequis
Maîtrise du modèle de données Power BI, notions DAX, thèmes 1 à 3 complétés
Matériel requis
Power BI Desktop, accès Power BI Service, compte Power Automate, jeu de données d'exercice
There are no rows in this table

Objectifs pédagogiques

À l'issue de cette séquence, les participants seront capables de :
Distinguer et appliquer les schémas de modélisation : étoile, flocon et constellation
Auditer un modèle existant et identifier les axes d'optimisation (colonnes inutiles, types inadaptés)
Créer et configurer un modèle composite combinant Import et DirectQuery
Mettre en place des tables d'agrégation pour accélérer les requêtes
Concevoir un flux Power Automate déclenché par une alerte Power BI
Automatiser l'envoi de rapports PDF et la notification d'échecs de rafraîchissement

Déroulement détaillé de la séquence

Partie 1 — Schémas de modélisation : étoile, flocon, constellation (30 min)

Contenu à présenter

Rappel : pourquoi la modélisation dimensionnelle est essentielle pour les performances et la lisibilité des rapports
Schéma en étoile (Star Schema) : une table de faits centrale entourée de tables de dimensions dénormalisées, schéma le plus courant et le plus performant dans Power BI
Schéma en flocon (Snowflake Schema) : les dimensions sont normalisées en sous-dimensions (ex. : Produit → Sous-catégorie → Catégorie), réduit la redondance mais augmente le nombre de jointures
Schéma en constellation (Galaxy Schema) : plusieurs tables de faits partagent des dimensions communes (ex. : Ventes et Stock partagent Produit et Date)
Critères de choix : l'étoile est recommandée par défaut dans Power BI pour la simplicité et la performance du moteur VertiPaq
Impact sur DAX : les relations directes simplifient les fonctions RELATED, CALCULATE et les mesures de Time Intelligence

Conseils formateur

💡 Dessiner les trois schémas au tableau ou afficher le slide dédié. Partir d'un exemple concret (ventes e-commerce) pour illustrer chaque variante.
⚠️ Insister sur la recommandation Microsoft : toujours privilégier le schéma en étoile sauf cas spécifique justifié. Le flocon est déconseillé car le moteur VertiPaq gère naturellement la compression des données répétitives.

Partie 2 — Audit et optimisation d'un modèle existant (30 min)

Contenu à présenter

Identification des colonnes inutiles : colonnes non utilisées dans les visuels, mesures ou relations — les supprimer réduit la taille du fichier et accélère les rafraîchissements
Optimisation des types de données : préférer les entiers aux textes longs, éviter les colonnes à haute cardinalité dans les dimensions
Cardinalité des relations : privilégier les relations 1:N, éviter les M:N qui complexifient le modèle
Mesures vs colonnes calculées : préférer les mesures DAX (calculées à la volée) aux colonnes calculées (stockées en mémoire) quand c'est possible
Performance Analyzer : outil intégré pour mesurer le temps de chaque visuel (requête DAX, requête DirectQuery, rendu visuel)
DAX Studio et Best Practice Analyzer (Tabular Editor) : outils externes complémentaires pour un audit approfondi

Travaux pratiques

TP — Audit d'un modèle de données
Ouvrir le fichier Power BI d'exercice contenant un modèle non optimisé
Identifier les colonnes inutiles dans la vue Modèle et les supprimer
Remplacer les colonnes calculées par des mesures DAX équivalentes
Utiliser Performance Analyzer pour mesurer l'impact avant/après
Vérifier la réduction de taille du fichier .pbix

Conseils formateur

💡 Préparer un fichier .pbix volontairement non optimisé (colonnes inutiles, types textes pour des chiffres, colonnes calculées redondantes) pour que l'exercice soit parlant.
⚠️ Montrer Performance Analyzer en direct : activer l'enregistrement, rafraîchir les visuels, analyser les temps. C'est un outil puissant mais souvent méconnu.

Partie 3 — Modèles composites et agrégations (30 min)

Contenu à présenter

Modèle composite : combiner dans un même rapport des tables en Import (performance) et des tables en DirectQuery (données en temps réel)
Cas d'usage typique : dimensions en Import (petites tables, mises à jour rares) et faits en DirectQuery (gros volumes, données actualisées fréquemment)
Configuration : modifier le mode de stockage table par table dans les propriétés (Import, DirectQuery ou Dual)
Mode Dual : la table peut fonctionner en Import ou DirectQuery selon le contexte de la requête — utile pour les dimensions partagées
Limites : les relations entre tables Import et DirectQuery doivent respecter des règles de cardinalité spécifiques
Tables d'agrégation : créer une table résumée (Import) qui pré-calcule les totaux, tandis que la table détaillée reste en DirectQuery
Détection automatique : Power BI redirige automatiquement les requêtes vers la table d'agrégation quand c'est possible
Configuration des agrégations : Gérer les agrégations dans les propriétés de la table (Summarize, Group By, Count)

Travaux pratiques

TP — Création d'un modèle composite
Connecter une table de faits volumineuse en DirectQuery sur SQL Server
Importer les tables de dimensions (Produit, Date, Client) en mode Import
Créer les relations entre tables Import et DirectQuery
Créer une table d'agrégation résumant les ventes par mois et catégorie
Configurer la détection automatique d'agrégation
Comparer les temps de réponse avec et sans agrégation via Performance Analyzer

Conseils formateur

💡 Si la connexion SQL Server n'est pas possible, simuler avec deux fichiers CSV : un volumineux pour les faits et un petit pour les dimensions, en changeant le mode de stockage manuellement.
⚠️ Les agrégations sont une fonctionnalité avancée. S'assurer que les participants comprennent bien le principe de modèle composite avant d'aborder les agrégations.

Partie 4 — Bonnes pratiques de performance (20 min)

Contenu à présenter

Query Folding : vérifier que les transformations Power Query sont converties en requêtes natives (clic droit → Afficher la requête native)
Réduction du volume de données : supprimer les colonnes inutiles dès Power Query, filtrer les lignes en amont plutôt que dans DAX
Optimisation des types de données : préférer les entiers, éviter les textes longs, utiliser les types Date plutôt que DateTime quand l'heure n'est pas nécessaire
Désactiver le chargement des tables intermédiaires : Enable Load = false pour les tables de transformation
Éviter les colonnes calculées complexes : privilégier les mesures qui sont calculées à la demande
Relations : éviter les relations bidirectionnelles sauf nécessité absolue, privilégier les relations unidirectionnelles
Visuels : limiter le nombre de visuels par page (recommandation : 8-10 max), éviter les matrices très larges
Documentation : documenter les flux de données, planifier les rafraîchissements hors heures de pointe, monitorer les échecs

Conseils formateur

💡 Résumer ces bonnes pratiques sous forme de checklist que les participants pourront emporter. Proposer un tableau récapitulatif : action → impact sur la performance.

Partie 5 — Introduction à Power Automate (25 min)

Contenu à présenter

Présentation de Power Automate : plateforme d'automatisation low-code de Microsoft, intégrée à l'écosystème Microsoft 365
Concepts clés : flux (flow), déclencheur (trigger), action, connecteur, condition
Types de flux : automatisé (déclenché par un événement), instantané (déclenché manuellement), planifié (récurrent)
Connecteur Power BI : permet d'interagir avec les modèles de données, rapports et alertes Power BI
Déclencheur principal : « Quand une alerte de données est déclenchée » — se connecte aux alertes configurées sur les vignettes de tableau de bord
Actions Power BI disponibles : actualiser un jeu de données, obtenir les tables, exécuter des requêtes DAX
Connecteur Outlook / Teams : envoyer un e-mail, poster un message dans un canal Teams
Licence : Power Automate est inclus dans les licences Microsoft 365 E3/E5 et Power BI Premium

Conseils formateur

💡 Montrer l'interface Power Automate en direct : créer un flux simple en quelques clics pour démystifier l'outil. L'objectif n'est pas de former à Power Automate en profondeur mais de montrer les possibilités d'intégration avec Power BI.
⚠️ Vérifier en amont que les participants ont accès à Power Automate (licence M365 ou licence standalone). Préparer un compte de démonstration si nécessaire.

Partie 6 — Cas d'usage : automatisation avec Power Automate (35 min)

Contenu à présenter

Cas 1 — Alerte de données → notification Teams : configurer une alerte sur un KPI de tableau de bord, puis déclencher un message Teams automatique quand le seuil est dépassé
Cas 2 — Envoi automatique de rapport PDF : flux planifié qui exporte un rapport Power BI au format PDF et l'envoie par e-mail chaque lundi matin
Cas 3 — Notification d'échec de rafraîchissement : flux qui surveille le statut de rafraîchissement via l'API REST Power BI et envoie une alerte en cas d'échec
Cas 4 — Actualisation déclenchée par un événement : lancer le rafraîchissement d'un jeu de données quand un fichier est déposé dans SharePoint ou OneDrive
API REST Power BI : endpoints principaux (datasets/{id}/refreshes, reports/{id}/ExportTo), authentification via Azure AD
Bonnes pratiques : gérer les erreurs dans les flux (actions parallèles, conditions « en cas d'échec »), documenter les flux, limiter la fréquence d'exécution

Travaux pratiques

TP — Créer un flux Power Automate
Créer une alerte de données sur une vignette de tableau de bord Power BI
Dans Power Automate, créer un flux automatisé déclenché par cette alerte
Ajouter une action « Envoyer un e-mail » (Outlook) ou « Poster un message » (Teams)
Tester le flux en modifiant les données pour déclencher l'alerte
Want to print your doc?
This is not the way.
Try clicking the ··· in the right corner or using a keyboard shortcut (
CtrlP
) instead.