Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Hola a todos
Estoy implementando la seguridad de nivel de fila para un conjunto de datos y me he encontrado con un problema que parece que no puedo resolver. Mis tablas y relaciones son las siguientes:
Tabla de dimensiones
Nombre de usuario ? Correo electrónico del usuario
aaa@company.com AAA
bbb@company.com BBB
CCC ccc@company.com
ddd@company.com DDD
* La tabla dimension utiliza RLS en 'Email de usuario' con el siguiente filtro donde [correo electrónico del usuario] - USERPRINCIPALNAME() para que cuando AAA inicie sesión sólo pueda ver sus detalles en la tabla de hechos.
Tabla de ventas
Cuenta ? Orden de la orden de la orden de SalesRep
1234 4567 AAA
1234 3456 AAA
2345 2355 BBB
Tabla de clientes
Cuenta ? SalesRep
1234 AAA
1235 AAA
2345 BBB
Tabla de contactos con el cliente
Cuenta ? Contacto ? ContactEmail
1234 Jane Smith JaneSmith@1234.com
1235 Joe Black JoeBlack@1235.com
2345 Greg Albright GregAlbright@2345.com
Relaciones
Relación activa (muchos a muchos, filtro cruzado único (DimensionTable filtra SalesTable)
• DimensionTable[Nombre de usuario] --> * SalesTable[SalesRep]
Relación inactiva (muchos a muchos, filtro cruzado único (DimensionTable filtra CustomerTable)
• DimensionTable[Nombre de usuario] --> CustomerTable[SalesRep]
Relación activa: CustomerTable[Cuenta] --> CustomerContactTable[Cuenta]
Tabla deseada (sin filtrar):
Cuenta ? SalesRep ? Contacto con el cliente ( CustomerContact) Correo electrónico de contacto
1234 AAA Jane Smith JaneSmith@1234.com
1235 AAA Joe Black JoeBlack@1235.com
2345 BBB Greg Albright GregAlbright@2345.com
Tabla deseada (filtrada cuando AAA inicia sesión):
Cuenta ? SalesRep ? Contacto con el cliente ( CustomerContact) Correo electrónico de contacto
1234 AAA Jane Smith JaneSmith@1234.com
1235 AAA Joe Black JoeBlack@1235.com
Desafío
Estoy trabajando con DirectQuery y Row Level Security, ambos con sus propias limitaciones.
Cualquier tabla que creo basada en SalesTable se filtra por RLS correctamente. Sin embargo, aunque puedo crear la tabla deseada sin filtrar, no consigue filtrarse cuando AAA inicia sesión, muy probablemente porque es una relación inactiva.
Cualquier ayuda es muy apreciada!
¿Podría crear una relación de varios entre la tabla De ventas y la Tabla de clientes? Por ejemplo, agregue columnas de índice o algunas otras columnas de indicadores en las dos tablas y cree una relación:
SalesTable[Flag] --> * CustomerTable[Flag]
Equipo de Apoyo Comunitario _ Jimmy Tao
Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
v-yuta-msft,
Gracias por la idea. Tengo 2 relaciones entre SalesTable y CustomersTable. Son:
Activo: SalesTable[AccountNumber] - CustomerTable[AccountNumber]
Inactivo: SalesTable[SalesPerson] - CustomerTable[SalesPerson]
Funcionó para la tabla CustomerContact para activar el vínculo SalesPerson, por desgracia, rompe otras matrices financieras en los informes. Son más importantes, así que tendré que dejar esas relaciones como son.
Tal vez tenga que hacer un conjunto de datos independiente-informe y hacer que los vínculos correctos activos para trabajar con la seguridad de nivel de fila.
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |