Forum Discussion
Filtrar por columnas concatenadas para RLS
- 5 years ago
La expresión de filtro podría ser algo como esto (tendrá que cambiar los nombres de las tablas para que coincidan con el modelo).
VAR _UPN = USERPRINCIPALNAME () RETURN CONTAINSSTRING ( LOOKUPVALUE ( Users[Site], Users[UserPrincipalName], _UPN ), Sites[Site] )Y lo aplicaría a la tabla Sitios.
Aunque hay una debilidad en hacerlo de esta manera porque PowerBI ve s2 en 's1,s23' por lo que está dando una coincidencia falsa.
Si eso es realmente cómo son los ID de su sitio, es posible que tenga que poner en 0 líder 's02' en lugar de 's2' o podría dividir los sitios en la tabla de usuarios y luego despivorlos para obtener 1 fila por usuario / par de sitio.
- Anonymous5 years ago
Hola @K_Caballero16
Cuando vemos el resultado como [email protected],deberíamos ver S2,S19 y S23, sin embargo en la respuesta de jdbuchanan71podemos ver S1.
Puede probar mi manera, transformar su tabla de usuarios y construir un RLS.
Divida la columna Sitio en filas en Power Query Editor.
Cree una relación entre dos columnas de sitio en dos tablas.
Prueba esta expresión de Dax.
[Site] = CALCULATE ( MAX(Data[Site]), FILTER ( Users, Users[UserPrincipalName] = USERPRINCIPALNAME() && Users[Site] = Data[Site] ) )Vea el resultado como [email protected].
Resultado:
Puede descargar el archivo pbix desde este enlace: Filtrar por columnas concatenadas para RLS
Saludos
Rico Zhou
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
La expresión de filtro podría ser algo como esto (tendrá que cambiar los nombres de las tablas para que coincidan con el modelo).
VAR _UPN =
USERPRINCIPALNAME ()
RETURN
CONTAINSSTRING (
LOOKUPVALUE ( Users[Site], Users[UserPrincipalName], _UPN ),
Sites[Site]
)
Y lo aplicaría a la tabla Sitios.
Aunque hay una debilidad en hacerlo de esta manera porque PowerBI ve s2 en 's1,s23' por lo que está dando una coincidencia falsa.
Si eso es realmente cómo son los ID de su sitio, es posible que tenga que poner en 0 líder 's02' en lugar de 's2' o podría dividir los sitios en la tabla de usuarios y luego despivorlos para obtener 1 fila por usuario / par de sitio.