Don't miss your chance to take the Fabric Data Engineer (DP-700) exam on us!
Learn moreWe've captured the moments from FabCon & SQLCon that everyone is talking about, and we are bringing them to the community, live and on-demand. Starts on April 14th. Register now
Hola
Tenemos la siguiente situación
3 tablas
tabla de ventas
distributor_number, seller_number, sales_qty
1 1 10
1 4 3
2 1 6
8 8 12
tabla de vendedores
seller_name, seller_number
joe bloggs 1
jill bloggs 2
jack bloggs 8
distributor_table
distributor_name distributor_number
joe bloggs 1
jill bloggs 2
jack bloggs 8
Han configurado RLS talt que un rol Joe Bloggs debe ver cualquier producto que vendan o distribuyan, en cuyo caso el usuario de Joe Bloggs debe ver estas 3 filas de la tabla de ventas
tabla de ventas
distributor_number, seller_number, sales_qty
1 1 10
1 4 3
2 1 6
Sin embargo, solo ven el primero, ya que parece que RLS trabaja para garantizar que sean tanto un distribuidor como un vendedor.
¿Cómo podemos implementar mejor RLS para asegurarnos de que se mueva como un operador de quirófano, es decir, establecer RLS donde cualquiera de los distribuidores O vendedores es Joe Bloggs?
Este es un ejemplo tan simplificado como tener claves sustitutas y otros atributos en nuestra tabla de ventas, por lo tanto, no se puede aplicar RLS a la tabla de hechos en sí y debe aplicarse a las tablas de dimensiones.
Parece OR(Seller[NAME]="Joe Bloggs", Distributor[NAME]="Joe Bloggs")
Gracias
Solved! Go to Solution.
Hay @po ,
Puede aplicar RLS a la tabla principal (tabla de ventas) en lugar de la tabla RLS y comprobar así:
CONTAINS (
distributor_table,
distributor_table[distributor_name], "joe bloggs",
distributor_table[distributor_number], 'sales table'[distributor_number]
)
|| CONTAINS (
'seller table',
'seller table'[seller_name], "joe bloggs",
'seller table'[seller_number], 'sales table'[seller_number]
)
Puede descargar mi archivo pbix si lo necesita.
¿Respondí a su pregunta? ¡Marca mi post como solución!
Saludos
Lucien
Hay @po ,
Puede aplicar RLS a la tabla principal (tabla de ventas) en lugar de la tabla RLS y comprobar así:
CONTAINS (
distributor_table,
distributor_table[distributor_name], "joe bloggs",
distributor_table[distributor_number], 'sales table'[distributor_number]
)
|| CONTAINS (
'seller table',
'seller table'[seller_name], "joe bloggs",
'seller table'[seller_number], 'sales table'[seller_number]
)
Puede descargar mi archivo pbix si lo necesita.
¿Respondí a su pregunta? ¡Marca mi post como solución!
Saludos
Lucien
Hay @po ,
Puede aplicar RLS a la tabla principal (tabla de ventas) en lugar de la tabla RLS y comprobar así:
CONTAINS (
distributor_table,
distributor_table[distributor_name], "joe bloggs",
distributor_table[distributor_number], 'sales table'[distributor_number]
)
|| CONTAINS (
'seller table',
'seller table'[seller_name], "joe bloggs",
'seller table'[seller_number], 'sales table'[seller_number]
)
Puede descargar mi archivo pbix si lo necesita.
¿Respondí a su pregunta? ¡Marca mi post como solución!
Saludos
Lucien
Hola
Sin embargo, solo una pregunta cuando tienen una tabla con solo dimensión y luego ven todo.
Por lo tanto, también necesitaría que se aplicara RLS en la tabla de dimensiones.
Gracias
@po , Si crea dos roles y asigna ambos dos al usuario, funcionará como OR. En un solo rol, funcionará como AND a menos que sea posible agregar una declaración de Or.
Gracias por la información de todos
Parece que puede usar el operador OR en RLS.
También como la solución con CONTAINS y el archivo .pbx asociado.
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.
Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.