🎯 Situación
Un VP de ventas nos pidió construir un dashboard de Power BI para todo el equipo de ventas — 5 gerentes regionales y 25 representantes. El requisito: cada persona ve los datos de su propia región, los gerentes ven su región más los datos individuales de sus representantes, y el VP ve todo. Mismo reporte. Mismo dataset. Vistas completamente diferentes según quién inicia sesión.
⚠️ El reto
🔒 RLS estática — el caso más simple
- Crear un rol en Power BI Desktop: Administrar roles → Nuevo rol
- Agregar un filtro DAX en la tabla: [Región] = 'Norte'
- Agregar los usuarios específicos a ese rol en Power BI Service
- Funciona para equipos pequeños con regiones estables
- No se necesita tabla de mapeo — solo valores codificados por rol
👤 RLS dinámica — escala con la organización
- Crear una tabla de mapeo: columnas [EmailUsuario] y [Región]
- Cargarla en el dataset de Power BI
- Escribir un filtro DAX: [Región] IN VALUES(MapeoUsuario[Región]) donde MapeoUsuario filtra con USERPRINCIPALNAME()
- Cuando se une un nuevo representante, agregar una fila a la tabla de mapeo — el reporte se actualiza automáticamente
- Escala a 500 usuarios sin cambios en el reporte
🔍 Análisis
El DAX exacto para RLS dinámica:
-- In the Region filter on the Sales table:
[Region] IN
CALCULATETABLE(
VALUES(UserRegionMap[Region]),
FILTER(UserRegionMap, UserRegionMap[UserEmail] = USERPRINCIPALNAME())
)
Este filtro único, aplicado como un rol, restringe dinámicamente cada visual del reporte a las regiones mapeadas al email del usuario conectado. La cuenta del VP mapea a todas las regiones. Un gerente regional mapea a una. Un representante a un solo territorio.
✓️ Buena práctica
Tres pasos de despliegue:
- Construir y probar en Power BI Desktop — usar 'Ver como rol' para simular cada tipo de usuario antes de publicar
- Publicar en Power BI Service, luego ir al dataset → Seguridad → asignar usuarios o grupos de seguridad a cada rol
- Probar de nuevo en Service con 'Probar como rol' — confirmar que el alcance de datos es correcto antes de compartir con usuarios
💡 Síntesis
La RLS es una de las funciones de Power BI de mayor valor para cualquier organización con diferentes necesidades de acceso a datos entre equipos. Un reporte reemplaza cinco. Un dataset sirve a todos. La gestión es una tabla de mapeo con una fila por usuario — actualizada cuando el equipo cambia.
👉 Un dashboard. Cada persona ve solo sus datos. Sin selectores de filtros. Sin reportes separados.
Eso es RLS — y toma una tarde construirlo.