Maîtriser Power BI & IA
À l'issue de cette leçon, le stagiaire utilise Claude pour trois usages avancés Power BI : générer du DAX à partir d'une description, expliquer un rapport hérité, et optimiser un modèle existant.
Au-delà de l'interrogation simple
La leçon 15 a couvert l'interrogation simple — poser une question, recevoir une réponse. Cette leçon pousse plus loin trois usages où Claude apporte une valeur substantielle au-delà du clic dans Power BI :
- Générer du DAX à partir d'une description en langage naturel
- Expliquer un rapport hérité dont vous reprenez la maintenance
- Optimiser un modèle existant pour la performance et la cohérence
Usage 1 — Générer du DAX
DAX (Data Analysis Expressions) est le langage de calcul de Power BI. Sa syntaxe est exigeante, ses pièges nombreux : contexte de filtre, fonctions CALCULATE imbriquées, performance. Écrire un DAX correct du premier coup demande de la pratique.
Claude est particulièrement bon pour produire du DAX à partir d'une description en langage naturel.
Demandez systématiquement à Claude d'expliquer le DAX qu'il produit. Cette explication vous permet de relire le code en comprenant ses intentions, et de repérer les hypothèses qui ne correspondent pas à votre modèle. Validez ensuite sur 2-3 cas connus avant intégration en production.
# Prompt type → Crée une mesure DAX qui calcule la moyenne mobile sur 3 mois du chiffre d'affaires, avec un fallback à zéro si moins de 3 mois disponibles. Contexte : modèle avec table Ventes (colonnes Date, Montant). # Claude génère la mesure DAX # À copier dans Power BI Desktop pour la tester CA_MoyenneMobile3M = VAR NbMois = CALCULATE( DISTINCTCOUNT( Ventes[Date].[Mois] ), DATESINPERIOD( Ventes[Date], MAX(Ventes[Date]), -3, MONTH ) ) RETURN IF( NbMois < 3, 0, CALCULATE( AVERAGEX( SUMMARIZE( Ventes, Ventes[Date].[Mois] ), SUM( Ventes[Montant] ) ), DATESINPERIOD( Ventes[Date], MAX(Ventes[Date]), -3, MONTH ) ) )
Usage 2 — Expliquer un rapport hérité
Cas classique en formation, mais aussi en reprise de poste, en audit, en migration : vous récupérez un rapport conçu par quelqu'un d'autre, et vous devez comprendre comment il fonctionne.
Claude peut, via le connecteur MCP, lire la structure du modèle — tables, relations, mesures, calculs — et la restituer en français.
Le résultat est un point de départ. Il vous fait gagner 2 à 3 heures sur la prise en main d'un rapport complexe. Pour un rapport stratégique, complétez systématiquement par une discussion avec l'auteur ou un référent métier. Claude lit le code, mais le code seul ne dit pas pourquoi telle décision a été prise. Le pourquoi est souvent dans la tête des gens, pas dans les formules.
→ Examine le dataset "Reporting Commercial 2025" dans l'espace de travail "BI Direction". Liste les mesures principales et explique-moi en 5 points la logique métier qu'elles implémentent. # Claude analyse et restitue : # 1. La mesure "CA Net" exclut les remises commerciales # par CALCULATE avec filtre Type_Operation = "Vente" # 2. Le segment "Top Clients" est dynamique (top 20% du CA) # 3. La projection annuelle utilise une régression linéaire # sur les 6 derniers mois # 4. ... etc.
Usage 3 — Optimiser un modèle
Trois axes d'optimisation où Claude apporte une vraie valeur sur des modèles hérités ou mal structurés :
Performance des requêtes
Claude peut analyser une mesure DAX lente et proposer une formulation équivalente plus performante. Le gain peut être substantiel sur les modèles volumineux — on parle parfois de plusieurs secondes économisées par requête.
Cohérence des conventions
Sur un dataset hérité avec des conventions de nommage incohérentes, Claude peut proposer un plan de renommage qui aligne les pratiques sans casser les rapports existants.
Détection d'anomalies
Claude peut auditer un modèle et signaler les redondances, les colonnes inutilisées, les relations en doublon. Pas un audit complet, mais un premier débroussaillage utile.
Plusieurs heures évitées
Sur un modèle hérité de taille moyenne (50+ mesures, 20+ tables), c'est typiquement plusieurs heures de travail manuel évitées dans la phase de reprise en main.
Exemple de prompt d'optimisation
→ Cette mesure DAX est lente à recalculer : [coller la mesure existante] Propose une formulation équivalente plus performante, et explique-moi le gain attendu et pourquoi. # Claude propose typiquement : # - remplacement de FILTER imbriqué par CALCULATE # - éviter les itérations row-by-row (SUMX, AVERAGEX) # quand une agrégation set-based suffit # - utilisation de variables (VAR) pour matérialiser # les sous-résultats
Une mesure DAX produite par Claude
Sur un dataset Power BI réel de votre activité, faites produire par Claude une mesure DAX dont vous avez besoin. Validez-la sur 2 ou 3 cas connus. Intégrez-la dans le rapport. Mesurez le gain de temps par rapport à une rédaction manuelle (rédaction + tests + corrections). Documentez la mesure dans le commentaire DAX pour les utilisateurs futurs.
Cet exercice est à conserver dans votre dossier de stagiaire. Il n'est pas évalué mais il est tracé.
- learn.microsoft.com/dax référence officielle Microsoft du langage DAX
- dax.guide référence communautaire des fonctions DAX avec exemples
- sqlbi.com blog de référence sur DAX et l'optimisation Power BI
Vous utilisez Claude pour générer du DAX, expliquer un rapport hérité, ou optimiser un modèle ?