Power BI Dashboard Builder
Transforme un cahier des charges de tableau de bord (voir bi-dashboard-design/references/dashboard-spec.md) en un artefact Power BI fonctionnel. Les connaissances métier proviennent de la compétence métier ; les règles de mise en page et de style proviennent de bi-dashboard-design. Cette compétence couvre les spécificités Power BI.
Choisir d'abord le mode de construction
Vérifiez ce qui est disponible et indiquez à l'utilisateur le mode que vous utilisez :
| Mode | Quand | Ce que vous produisez |
|---|---|---|
| A. Modèle en direct via MCP/CLI | Le serveur MCP Power BI Modeling (@microsoft/powerbi-modeling-mcp) ou pbi-cli est connecté et Power BI Desktop a le modèle ouvert | Tables, relations, mesures créées directement dans le modèle ouvert ; rapport construit sous forme de fichiers PBIR |
| B. Fichiers de projet PBIP | Vous pouvez écrire des fichiers mais n'avez pas de connexion en direct | Un dossier projet .pbip : <Name>.SemanticModel/definition/*.tmdl et <Name>.Report/definition/ (PBIR) que l'utilisateur ouvre dans Power BI Desktop |
| C. Kit de construction | Ni les fichiers ni les outils ne sont pratiques (par exemple, chat uniquement) | Script de mesures DAX, extraits TMDL, thème JSON et une feuille de construction page par page qu'un développeur suit |
Préférez A, puis B. En mode B, rappelez à l'utilisateur d'activer l'option d'enregistrement PBIP et « Stocker le modèle sémantique au format TMDL » dans les fonctionnalités d'aperçu de Power BI Desktop si leur version les propose encore en aperçu.
Flux de travail
- Lisez le cahier des charges et le fichier de métriques du domaine. Chaque mesure que vous créez doit correspondre à une définition dans le fichier
<domaine-skill>/references/metrics.mdde la compétence métier. - Modélisez le schéma en étoile (
references/tmdl-patterns.md) :- Une table de faits par granularité dans le cahier des charges ; dimensions conformes entre les faits.
- Une table
Datedédiée marquée comme table de dates, continue, couvrant toutes les dates des faits, avec des colonnes fiscales lorsque le domaine utilise un calendrier fiscal. - Relations unidirectionnelles un-à-plusieurs de la dimension vers le fait. N'utilisez le bidirectionnel qu'avec une raison écrite. Dates à rôles multiples (facture vs échéance vs paiement) : une relation active, les autres inactivées et activées avec
USERELATIONSHIPdans les mesures. - Masquez les clés étrangères et les colonnes numériques brutes remplacées par des mesures ; définissez
summarizeBy: nonesur les clés, les ID et les numéros de mois/année. - Colonnes de tri pour les noms de mois et pour les étiquettes de catégories (ancienneté, tranches).
- Écrivez les mesures (
references/dax-patterns.md) : une table_Measures, des dossiers d'affichage par thème (par exemple01 Revenue,02 Margin), une chaîne de format et une description sur chaque mesure. Construisez d'abord les mesures de base, puis les ratios, puis l'intelligence temporelle, puis les aides à l'affichage (delta %, flèche, couleur de statut). - Construisez les pages du rapport (
references/report-pbir.md) : associez chaque composant du cahier des charges à un visuel, placez-le sur le canevas 1280×720 en utilisant le quadrillage, appliquez le thème debi-dashboard-design/references/theme-tokens.md, ajoutez des pages d'exploration et un signet de réinitialisation. - Sécurité : si le cahier des charges contient
row_level, créez le rôle RLS avec un filtre DAX sur la dimension concernée et documentez comment attribuer les membres dans le Service. - Vérifiez : exécutez les vérifications DAX dans
references/dax-patterns.md#verification(les totaux correspondent à la source, l'intelligence temporelle renvoie des valeurs pour la dernière période, aucun KPI vide), puis exécutez la liste de contrôle d'acceptationbi-dashboard-design. Signalez ce que vous n'avez pas pu vérifier.
Quadrillage (canevas 1280 × 720)
- Marges 16 px ; largeur utile 1248 px ; 12 colonnes de 88 px avec des gouttières de 16 px.
- Étendue de colonne
c→ largeurc*88 + (c-1)*16px ; x =16 + col_index*104. - Une unité de hauteur = 56 px avec des gouttières de 16 px (ligne d'en-tête ≈ 64 px).
- Pages longues : préférez une deuxième page au défilement vertical pour les niveaux L1/L2 ; les pages de détail L3 peuvent utiliser un canevas plus haut (1280 × 1440) pour les tableaux.
Mappage des visuels
| Composant du cahier des charges | Visuel Power BI | Notes |
|---|---|---|
| kpi_card | Carte (nouvelle) / KPI | Étiquette de référence pour comparaison ; couleur conditionnelle via une mesure |
| trend_line | Graphique en courbes | Cible comme deuxième mesure ou ligne constante ; 13 mois via un filtre de date relatif ou une fenêtre de mesure |
| ranked_bar | Barres groupées | Filtre Top N + « Autres » via une mesure de segmentation dynamique si nécessaire |
| variance_bar | Barres groupées sur la mesure de variance | Couleur par règle sur le signe × direction de la variance |
| waterfall | Graphique en cascade | Champ de répartition = dimension motrice |
| stacked_bar | Barres empilées 100% | |
| matrix | Matrice | Hiérarchie des lignes, valeurs Réel/Budget/Var/Var%, éléments de cellule sur Var% |
| exception_table | Tableau | Filtre Top N ou gravité, icônes conditionnelles, exploration activée |
| aging_buckets | Colonnes groupées | Colonne de compartiment triée par colonne d'ordre de compartiment |
| funnel | Entonnoir ou barres | Les barres triées par ordre d'étape sont plus lisibles |
| map | Carte Azure / carte remplie | Uniquement si le locataire autorise les cartes |
| slicer | Trancheur (liste déroulante ou vignette) | Synchronisez les trancheurs entre les pages pour Période et Organisation |
Garde-fous
- Ne codez jamais en dur des dates comme
"2026-10-31"dans les mesures ; déduisez la « dernière période complète » des données ou d'un paramètre. - Utilisez
DIVIDE()pour chaque ratio. Ne faites jamais la moyenne d'un ratio sur des lignes. - Préférez les mesures aux colonnes calculées ; préférez Power Query / les transformations d'entrepôt aux tables calculées DAX.
- N'importez pas de colonnes sensibles (SSN, nom du patient, détail du salaire) sauf si le cahier des charges le demande et que RLS/OLS est en place.
- Gardez la date/heure automatique désactivée ; elle alourdit le modèle et entre en conflit avec la table de dates.
Fichiers de référence
references/tmdl-patterns.md– Syntaxe TMDL pour les tables, colonnes, relations, table de dates, rôles. Lire en mode A/B.references/dax-patterns.md– DAX réutilisable : ratios, intelligence temporelle, instantanés semi-additifs, compartiments d'ancienneté, Top N + Autres, aides à l'affichage, requêtes de vérification.references/report-pbir.md– Disposition du dossier PBIR, essentiels JSON des visuels, exploration, signets et format de la feuille de construction pour le mode C.