🎯 Situation
Un directeur commercial nous a demandé de construire un seul dashboard Power BI pour toute l'équipe de ventes — 5 directeurs régionaux et 25 commerciaux. L'exigence : chaque personne voit les données de sa propre région, les directeurs voient leur région plus les données individuelles de leurs commerciaux, et le VP voit tout. Même rapport. Même dataset. Vues complètement différentes selon qui se connecte.
⚠️ Challenge
🔒 RLS statique — le cas le plus simple
- Créer un rôle dans Power BI Desktop : Gérer les rôles → Nouveau rôle
- Ajouter un filtre DAX sur la table : [Région] = 'Nord'
- Ajouter les utilisateurs spécifiques à ce rôle dans Power BI Service
- Fonctionne pour les petites équipes avec des régions stables
- Pas de table de correspondance nécessaire — juste des valeurs codées en dur par rôle
👤 RLS dynamique — passe à l'échelle avec l'organisation
- Créer une table de correspondance : colonnes [EmailUtilisateur] et [Région]
- La charger dans le dataset Power BI
- Écrire un filtre DAX : [Région] IN VALUES(Cartographie[Région]) où Cartographie filtre sur USERPRINCIPALNAME()
- Quand un nouveau commercial arrive, ajouter une ligne à la table de correspondance — le rapport se met à jour automatiquement
- Passe à 500 utilisateurs sans aucun changement au rapport
🔍 Analyse
Le DAX exact pour la RLS dynamique :
-- In the Region filter on the Sales table:
[Region] IN
CALCULATETABLE(
VALUES(UserRegionMap[Region]),
FILTER(UserRegionMap, UserRegionMap[UserEmail] = USERPRINCIPALNAME())
)
Ce filtre unique, appliqué comme un rôle, restreint dynamiquement chaque visuel du rapport aux régions mappées à l'email de l'utilisateur connecté. Le compte VP est mappé à toutes les régions. Un directeur régional est mappé à une. Un commercial à un seul territoire.
✓️ Bonne pratique
Trois étapes de déploiement :
- Construire et tester dans Power BI Desktop — utiliser 'Voir en tant que rôle' pour simuler chaque type d'utilisateur avant de publier
- Publier dans Power BI Service, puis aller dans le dataset → Sécurité → assigner les utilisateurs ou groupes de sécurité à chaque rôle
- Tester à nouveau dans Service avec 'Tester en tant que rôle' — confirmer que le périmètre des données est correct avant de partager avec les utilisateurs
💡 Synthèse
La RLS est l'une des fonctionnalités Power BI à plus haute valeur pour toute organisation avec des besoins d'accès aux données différents entre les équipes. Un rapport remplace cinq. Un dataset sert tout le monde. La gestion se résume à une table de correspondance avec une ligne par utilisateur — mise à jour quand l'équipe change.
👉 Un seul dashboard. Chaque personne voit uniquement ses données. Pas de sélecteurs de filtres. Pas de rapports séparés.
C'est la RLS — et ça prend un après-midi à construire.