Savoir connecter et transformer des données dans Power BI
Apprendre à créer et personnaliser des tableaux de bord interactifs
Comprendre les bonnes pratiques pour concevoir un rapport efficace
⏱️ Durée Adaptable
30 minutes: Vue d'ensemble rapide
2 heures: Formation essentielle
3 heures: Formation complète avec ateliers
📚 Programme de Formation
1. Introduction à Power BI
2. Architecture et Composants
Quiz #1
3. Connexion aux Données
4. Power Query et Transformation
5. Modélisation des Données
6. DAX Mesures et autres Calculs
Quiz #2
7. Création de Visualisations
8. Design et UX
Quiz #3
9. Copilot AI dans Power BI
10. Performance et Optimisation
11. Sécurité et Gouvernance
Conclusion et Synthèse
Atelier Pratique
1. Introduction à Power BI
Qu'est-ce que Power BI?
L' Intelligence d'affaires (BI) désigne l’ensemble des méthodes et outils
qui permettent aux organisations de transformer leurs données en informations exploitables.
Elle sert à analyser, visualiser et partager des indicateurs clés afin d’éclairer la prise de décision.
Parmi ces outils, Power BI se distingue comme une solution de choix bien établie
proposée par
Microsoft.
Il offre la possibilité de :
Connecter les données des systèmes opérationnels (GPI, Jade, etc.)
Modéliser et créer des visualisations
Partager des insights avec diverses audiences (directeurs, enseignants, etc)
Prendre des décisions basées sur les données intéractives
Écosystème Power BI
Power BI Desktop
Application Windows gratuite pour créer des rapports
Power BI Service
Plateforme cloud pour publier et partager avec les écoles
Power BI Mobile
Applications mobiles pour directeurs et enseignants
Power BI Report Server
Solution on-premise pour données sensibles
Power BI Embedded
Pour des hébergements dans des applications ou site web personnalisé
Licences et Coûts (approximatifs)
💰 Options de Licence
Power BI Desktop : Gratuit (création locale)
Power BI Pro : ~13$ CAD/utilisateur/mois (Rabais additionnel pour des packages)
Power BI Premium : ~7000$ CAD/mois (organisation)
Fabric (nouveau) : Variable selon usage
🎯 Avantages par Type
Pro : Partage, collaboration, actualisation cloud
Premium : Capacités avancées, IA, gros volumes
Gouvernement : Versions spécialisées secteur public
💡 Point Clé
Power BI permet de centraliser les données de multiples systèmes (résultats scolaires, présences,
comportements) pour une vue 360° de chaque élève.
2. Architecture et Composants
Le parcours de la donnée : de la saisie brute à l'intelligence d'affaires.
1. Systèmes Ops
Saisie des transactions quotidiennes (GPI, Jade)
➜
2. Entrepôt
Base de données relationnelle (SQL, Snowflake, Google BigQuery)
➜
3. ETL
Extraction, nettoyage et transformation
4. Modèle
Structure des relations entre les tables (Star vs Snowflake)
➜
5. Calcul
Définition des mesures et KPIs (DAX)
➜
6. Visuel
Création des graphiques interactifs
➜
7. Service
Portail de diffusion et partage sécurisée
Quiz #1 - Vérifiez vos connaissances
Question 1: Quelle composante est responsable du partage et de la collaboration dans Power BI?
A) Power Query
B) Power BI Service
C) SQL Server
D) Excel
Question 2: Quelle version de Power BI permet l'hébergement des rapports sur site (on-premise) ?
A) Power BI Desktop
B) Power BI Service
C) Power BI Report Server
D) Power BI Embedded
💡 Rappel
Ces concepts sont fondamentaux pour bien structurer vos projets Power BI. N'hésitez pas à revenir sur les
slides précédentes si nécessaire!
3. Connexion aux Données
Typologie des Sources de Données
Power BI offre plus de 200 connecteurs natifs classés par type technique.
📄 Fichiers & Dossiers
Excel / CSV : Exports manuels ou automatisés
SharePoint Folder : Consolidation de plusieurs fichiers
PDF / XML / JSON : Données semi-structurées
🗄️ Bases de Données (On-Prem & Cloud)
Relationnelles : SQL Server, Oracle, MySQL
Entrepôts (DWH) : Azure Synapse, Snowflake, Google BigQuery
Cubes : SSAS (Analysis Services)
☁️ Services en Ligne (SaaS)
Écosystème MS : Listes SharePoint, Teams, Dynamics 365
Tiers : Google Analytics, Salesforce
Power Platform : Dataverse, Dataflows
🌐 Web & APIs
Web : Scraping de pages HTML (Tableaux)
API REST : Connexion aux systèmes modernes
OData Feed : Protocoles standardisés ouverts
Modes de Connexion (Le "Comment")
1
Import (Mise en cache)
Importe les données dans la mémoire de Power BI. Rapide, permet toutes les transformations DAX, mais nécessite des actualisations planifiées.
2
DirectQuery (Temps réel)
Les données restent à la source. Power BI envoie une requête SQL à chaque clic. Données toujours à jour, mais potentiellement plus lent.
// Exemple M : Connexion à une API Web (Open Data)
let
Source = Json.Document(Web.Contents("https://api.donneesquebec.ca/api/action/datastore_search")),
result = Source[result],
records = result[records],
#"Converted to Table" = Table.FromList(records, Splitter.SplitByNothing(), null, null, ExtraValues.Error)
in
#"Converted to Table"
4. Power Query et Transformation
Transformations Typiques
Étapes de Nettoyage des Données Scolaires
1
Standardiser: Formats de codes permanents, noms d'écoles
Enrichir: Ajouter régions administratives, indices socio-économiques
Exemple Pratique: Données d'Élèves
// Transformation des résultats scolaires
let
Source = Excel.Workbook(File.Contents("C:\Data\Resultats_2024.xlsx")),
Data = Source{[Name="Bulletins"]}[Data],
// Promouvoir en-têtes
Headers = Table.PromoteHeaders(Data),
// Typer les colonnes
TypedData = Table.TransformColumnTypes(Headers, {
{"CodePermanent", type text},
{"DateNaissance", type date},
{"Note", type number},
{"Matiere", type text},
{"Ecole", type text}
}),
// Calculer l'âge de l'élève
WithAge = Table.AddColumn(TypedData, "Age",
each Date.Year(DateTime.LocalNow()) - Date.Year([DateNaissance])),
// Ajouter catégorie de performance
WithCategory = Table.AddColumn(WithAge, "Performance",
each if [Note] >= 80 then "Excellence"
else if [Note] >= 60 then "Réussite"
else "À risque"),
// Grouper par école et matière
Grouped = Table.Group(WithCategory, {"Ecole", "Matiere"}, {
{"MoyenneNote", each List.Average([Note]), type number},
{"NbEleves", each Table.RowCount(_), type number},
{"TauxReussite", each List.Count(List.Select([Note], each _ >= 60)) / Table.RowCount(_) * 100, type number}
})
in
Grouped
💡 Bonnes Pratiques
Valider les codes permanents (format AAAA99999999)
Standardiser les noms de programmes
Conserver l'historique des modifications
⚠️ Attention Particulière
Protection des données personnelles (RGPD)
Anonymisation si nécessaire
Cohérence des codes matières
5. Modélisation des Données
Tables du Modèle
⭐ Table de Faits: Résultats
ID_Eleve
ID_Cohorte
ID_Ecole
ID_Date
Note
📚 Dimension: Élèves
Code Permanent
Nom, Prénom
Date Naissance
Genre
🏫 Dimension: Écoles
Code École
Nom École
CSS/CS
Type (primaire/secondaire)
📅 Dimension: Calendrier
Date
Année Scolaire
Étape
Trimestre
Relations et Cardinalités
Configuration des Relations
1
Élèves → Résultats (1:*)
Un élève a plusieurs résultats
2
Écoles → Résultats (1:*)
Une école a plusieurs résultats d'élèves
3
Calendrier → Résultats (1:*)
Une date contient plusieurs évaluations
Modèle de Données en Étoile
✅ Meilleures Pratiques Modélisation
Créer une table calendrier scolaire dédiée
Inclure les hiérarchies géographiques (école → CSS → région)
Prévoir les changements de programmes
6. DAX Mesures et autres Calculs
DAX (Data Analysis Expressions) est le langage de formules utilisé dans Power BI, Excel Power Pivot et Analysis Services. Il permet de créer des calculs personnalisés et des mesures sophistiquées pour analyser et manipuler les données. DAX combine la simplicité des formules Excel avec la puissance des bases de données relationnelles, offrant aux analystes la capacité de créer des insights avancés. Il permet de :
Créer des colonnes calculées pour enrichir les tables de données
Développer des mesures dynamiques pour les agrégations et KPI
Construire des tables calculées pour des analyses spécialisées
Mesures Essentielles
// Nombre total d'élèves
Nb Élèves = DISTINCTCOUNT(Eleves[CodePermanent])
// Moyenne générale
Moyenne Générale = AVERAGE(Resultats[Note])
// Taux de réussite
Taux Réussite =
DIVIDE(
CALCULATE(COUNT(Resultats[Note]), Resultats[Note] >= 60),
COUNT(Resultats[Note])
) * 100
// Élèves à risque
Élèves À Risque =
CALCULATE(
[Nb Élèves],
FILTER(
Resultats,
Resultats[Note] < 60 ) ) // Taux de diplomation Taux Diplomation=DIVIDE( CALCULATE([Nb Élèves],
Eleves[Diplome]="Obtenu" ), [Nb Élèves] ) * 100
Fonctions DAX
Calculs Statistiques
AVERAGE - Moyennes de classe
MEDIAN - Note médiane
STDEV.P - Écart-type notes
Filtres Contextuels
CALCULATE - Filtrer par école/niveau
FILTER - Élèves spécifiques
ALL - Ignorer filtres
Calculs Avancés
RANKX - Classement élèves
TOPN - Meilleurs élèves
Summarize - Catégorisation de notes
✅ Meilleures Pratiques DAX
Utiliser des variables (VAR) pour améliorer la lisibilité et les performances
Nommer les mesures avec préfixes clairs (ex: [% Diplomation], [Nb Élèves])
Utiliser DIVIDE() au lieu de "/" pour éviter les erreurs de division par zéro
Documenter les formules complexes avec des commentaires (--)
Quiz #2 - DAX et Modélisation
Question 1: Quelle fonction DAX utiliseriez-vous pour calculer le nombre d'élèves uniques dans une
école?
A) COUNT(Eleves[CodePermanent])
B) DISTINCTCOUNT(Eleves[CodePermanent])
C) SUM(Eleves[CodePermanent])
D) AVERAGE(Eleves[CodePermanent])
Question 2: Dans un modèle en étoile, quelle serait la table de faits principale?
A) Table Élèves
B) Table Écoles
C) Table Résultats/Évaluations
D) Table Calendrier
Question 3: Pour calculer un taux de réussite, quelle approche est la plus appropriée?
A) COUNT des notes >= 60
B) AVERAGE de toutes les notes
C) DIVIDE(notes >= 60, total notes) * 100
D) SUM des notes / COUNT des élèves
7. Visualisations
Un visuel dans Power BI sert à représenter les données sous forme de graphique ou tableau. Il aide à comprendre, comparer et explorer les informations de façon claire et interactive
Éviter les visuels personnalisés non certifié Microsoft
8. Design et UX pour Utilisateurs
Personas Utilisateurs
Enseignants
Vue classe avec tous élèves
Alertes élèves en difficulté
Comparaison entre évaluations
Directions d'École
Vue d'ensemble école
Comparaisons entre niveaux
Indicateurs ministériels
Conseillers Pédagogiques
Analyses par programme
Comparaisons inter-écoles
Rapports détaillés
Principes de Design
Navigation Intuitive
Hiérarchie claire des segments
Info bulle d'aide pour contextualiser
Autres actions d'export ou intéractions avec les visuels
Quiz #3 - Visualisations et Design
Question 1: Quel type de visualisation est le plus approprié pour montrer le taux de
diplomation par région?
A) Graphique en secteurs
B) Carte géographique
C) Graphique en aires
D) Matrice
Question 2: Pour un directeur d'école, quelle vue serait prioritaire dans le dashboard?
A) Liste détaillée de tous les élèves
B) Vue d'ensemble avec KPIs de l'école
C) Graphiques techniques complexes
D) Données brutes en tableau
💡 Rappel Design
Un bon dashboard doit être adapté à son audience. Les enseignants ont besoin de détails par
élève, tandis que les directions veulent une vue stratégique.
9. Copilot AI - L'Intelligence Artificielle dans Power BI
Qu'est-ce que Copilot dans Power BI?
Copilot est l'assistant IA intégré de Microsoft qui révolutionne l'analyse
de données en permettant aux utilisateurs d'interagir avec leurs données en langage
naturel.
Fonctionnalités Copilot
🗣️ Requêtes en Langage Naturel
"Montre-moi les élèves à risque cette année"
"Compare les résultats par école"
"Quelles matières ont le plus d'échecs?"
🤖 Génération Automatique
Création de mesures DAX automatiques
Génération de rapports suggérés
Résumés narratifs des données
🔍 Insights Automatiques
Détection d'anomalies dans les notes
Identification de tendances cachées
Facteurs de corrélation découverts
Licences et Limitations
💳 Licences Requises
Fabric F64+: Pour modèles sémantiques avancés
⚠️ Limitations Actuelles
Contexte: Nécessite des données bien structurées
Coût: Licence additionnelle significative
Conseils d'Implémentation
✅ Meilleures Pratiques
Nommage cohérent: Utiliser des noms de colonnes clairs et standards
Gouvernance: Établir des règles pour l'usage de l'IA
Validation: Toujours vérifier les résultats générés automatiquement
10. Performance pour des Données Massives
Défis Spécifiques
📊 Volume de Données
500k+ élèves au Québec
Historique 10+ années
Données présences quotidiennes
⚡ Optimisations Requises
Agrégations pré-calculées
Partitionnement par année
Indexes sur codes permanents
Stratégies d'Optimisation
Approche Recommandée
1
Segmenter les données: Actifs vs Archives (>2 ans)
2
Agréger à la source: Moyennes par étape pré-calculées
3
Incremental Refresh: Mise à jour quotidienne différentielle
4
Composite Models: DirectQuery pour temps réel + Import historique
Stockage: Chiffré et sécurisé sur des serveurs approuvés
Destruction: Sécurisée et documentée
Synthèse du Parcours - Conception Power BI
Processus Complet
Avant de plonger dans les aspects techniques, il est crucial de bien définir le cadre de votre
projet : identifier clairement votre audience cible, délimiter le périmètre d'analyse, et
surtout déterminer quelles décisions concrètes découleront de vos rapports.
Backend
Systèmes Opérationnels, Entrepôt de Données
Power BI Desktop
Power Query ETL, Modélisation et DAX, Visualisations
Power BI Service
Sécurité RLS, Déploiement, Mise à jour, Partage
Points Clés à Retenir
Données
Nettoyer et standardiser
Respecter confidentialité
Optimiser performances
Analyses
KPIs pertinents
Comparaisons équitables
Insights actionnables
Utilisateurs
Focus sur l'audience
Navigation intuitive
Formation continue
Évolution
Feedback utilisateurs
IA et prédiction
Intégrations futures
Merci pour votre participation!
Des questions? Contactez-nous!
Support post-formation disponible
Atelier Pratique
Projet: Suivi de la Diplomation
Objectif de l'Atelier
Créer un dashboard complet pour le suivi de performance scolaire incluant:
Import des données
Modèle relationnel
Calculs de performance
Visualisations adaptées
Sécurité et déploiement
Source de données
dim_diplome - Informations des diplomes
dim_ecole - Données des établissements
dim_eleve_cohorte - Regroupement par cohorte
fait_diplomation - Faits de diplomation
🚀 Commençons l'Atelier!
Ouvrez Power BI Desktop et chargeons ensemble les premières données.