Informations générales
Gouvernance, optimisation des performances et automatisation
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 jeux 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 (Bonus) Créer un flux planifié qui exporte un rapport en PDF et l'envoie par e-mail Conseils formateur
💡 Pour le TP, utiliser un tableau de bord simple avec un KPI facile à manipuler (ex. : total des ventes). Modifier les données source pour déclencher l'alerte en direct.
⚠️ L'export PDF via l'API REST nécessite un compte Power BI Pro minimum. Si les participants n'ont pas tous les droits, faire la démonstration en mode guidé.
Synthèse et évaluation (10 min)
Tour de table
Chaque participant cite un cas d'usage concret de modèle composite ou d'automatisation Power Automate dans son contexte professionnel Quiz de validation (5 questions)
Quel schéma de modélisation est recommandé par défaut dans Power BI ? Quelle est la différence entre une mesure et une colonne calculée en termes de performance ? Quel est l'intérêt d'une table d'agrégation dans un modèle composite ? Quel déclencheur Power Automate permet de réagir à un seuil dépassé dans Power BI ? Citez deux cas d'usage d'automatisation Power BI + Power Automate. Questions / Réponses
Ouvrir la discussion sur les problématiques rencontrées par les participants Ressources complémentaires
Modélisation en étoile dans Power BI — Microsoft Learn Modèles composites — Microsoft Learn Tables d'agrégation — Microsoft Learn Performance Analyzer — Microsoft Learn Power Automate + Power BI — Microsoft Learn API REST Power BI — Microsoft Learn DAX Studio — daxstudio.org Tabular Editor / Best Practice Analyzer — tabulareditor.com Conseils formateur — Vue d'ensemble du thème
💡 Commencer par un schéma récapitulatif montrant l'ensemble du flux : Sources → Modèle (étoile/composite) → Service → Automatisation (Power Automate) → Utilisateurs. Cela aide les participants à situer chaque concept.
💡 Pour Power Automate, l'approche « learning by doing » fonctionne mieux qu'un cours magistral. Montrer rapidement un flux fonctionnel, puis laisser les participants reproduire et adapter.
⚠️ Adapter le niveau de détail sur les agrégations au public : pour un public débutant, se concentrer sur le concept et montrer une démonstration. Pour un public avancé, détailler la configuration.
⚠️ Prévoir un plan B si Power Automate n'est pas accessible (licence manquante) : préparer des captures d'écran ou une vidéo de la démonstration complète.