Power BI : 5 patterns DAX pour des dashboards fluides
Mesures dynamiques, time intelligence et sécurité au niveau des lignes - les recettes que je réutilise sur tous mes projets.
Sur les 25+ projets Power BI que j'ai livrés, ces cinq patterns DAX reviennent à chaque fois. Aucun n'est exotique, tous gagnent un temps considérable.
1. Mesure dynamique avec SWITCH
Plutôt que de créer 12 mesures pour 12 KPIs, on crée une table de paramètres et on bascule via SWITCH. L'utilisateur sélectionne la métrique, le visuel se reconfigure.
Mesure Dynamique =
SWITCH(
SELECTEDVALUE('Param'[KPI]),
"CA", [Total CA],
"Marge", [Marge brute],
"Volume", [Quantité vendue],
BLANK()
)2. Time intelligence sans table de dates oubliée
Toujours créer une table calendar dédiée, marquée comme table de dates. Sinon SAMEPERIODLASTYEAR vous lâche au pire moment.
3. RLS dynamique par utilisateur
USERPRINCIPALNAME() couplé à une table de mappage user → périmètre. Une seule règle RLS sur la table de faits, gérée en self-service par le métier.
4. Variables pour la lisibilité
Une mesure de plus de 3 lignes sans VAR est un pari sur l'avenir. Le moteur optimise mieux, vous relisez plus vite, le debug devient possible.
5. CALCULATE + REMOVEFILTERS pour les pourcentages du total
Le pattern « pourcentage du total visible » qui marche dans tous les contextes : CALCULATE([Mesure], REMOVEFILTERS('Dim')) au dénominateur. Évite les surprises avec les filtres slicers.