Forum Discussion
Filtrado dinámico de RLS de varias tablas
- 6 years ago
En realidad, no necesita que la tabla de seguridad se una a su modelo. Sólo tiene que utilizar una medida para leer el USERPRINCIPALNAME() y crear la lista de 'AbbrP&L'[Abbr P&L] cuentas que el usuario puede ver. Un cambio que necesitará es hacer la unión entre UserProfileAbbrP&L y Profile Bridge bidireccional.
A continuación, el filtro en la tabla AbbrP&L se ve así.
'AbbrP&L'[Abbr P&L] IN CALCULATETABLE( VALUES('ProfileAbbrP&L'[Abbr P&L Account]),'UserProfileAbbrP&L'[User]=USERPRINCIPALNAME())He adjuntado mi copia actualizada de su archivo para que lo mire.
- 6 years ago
Su ProfileAbbrP&L ya contiene las cuentas y los paquetes acumulativos que un perfil puede ver. Sólo tiene que mover los rollups a la tabla AbbrP&L para que tenga este aspecto:
Puede quitar las tablas acumulativas del lado del perfil y volver a establecer UserProfileAbbrP&L > AbbrProfileBridge en bidireccional. Entonces tu medida de filtrado se ve así.
VAR _UPN = USERPRINCIPALNAME() RETURN 'AbbrP&L'[Abbr P&L] IN CALCULATETABLE( VALUES('ProfileAbbrP&L'[Abbr P&L Account]),'UserProfileAbbrP&L'[User]=_UPN) || 'AbbrP&L'[Rollup] IN CALCULATETABLE( VALUES('ProfileAbbrP&L'[Abbr P&L Account]),'UserProfileAbbrP&L'[User]=_UPN)El modelo termina pareciéndose así.
Y el RLS mostrará todas las cuentas o rollups asignados al perfil en la tabla [ProfileAbbrP&L]:
Su ProfileAbbrP&L ya contiene las cuentas y los paquetes acumulativos que un perfil puede ver. Sólo tiene que mover los rollups a la tabla AbbrP&L para que tenga este aspecto:
Puede quitar las tablas acumulativas del lado del perfil y volver a establecer UserProfileAbbrP&L > AbbrProfileBridge en bidireccional. Entonces tu medida de filtrado se ve así.
VAR _UPN = USERPRINCIPALNAME()
RETURN
'AbbrP&L'[Abbr P&L] IN
CALCULATETABLE(
VALUES('ProfileAbbrP&L'[Abbr P&L Account]),'UserProfileAbbrP&L'[User]=_UPN)
||
'AbbrP&L'[Rollup] IN
CALCULATETABLE(
VALUES('ProfileAbbrP&L'[Abbr P&L Account]),'UserProfileAbbrP&L'[User]=_UPN)
El modelo termina pareciéndose así.
Y el RLS mostrará todas las cuentas o rollups asignados al perfil en la tabla [ProfileAbbrP&L]:
Esto funciona muy bien, gracias @jdbuchanan71 ! Modifiqué ligeramente para filtrar la tabla Cuentas (ya que también tendré que filtrar cuentas). No puedo esperar para construirlo en mi modelo real.