Anónimo
Así que estoy tratando de implementar RLS dinámico desde hace días, estoy perdiendo la cabeza 🙂
. He leído todos los artículos de Radcad al respecto, pero sigo atascado en un punto. ¿Cómo implementa una tabla de usuario que define el nivel de seguridad cuando no tiene una sola columna (sino varias) en la que puede definir una relación en la tabla de hechos?
Tengo una tabla que determina los roles de seguridad, donde una sola dirección de correo electrónico puede tener acceso a varios CC-Names (ver Ian@example.nl) y un solo CC-Name puede tener múltiples direcciones de correo electrónico (ver Consulting CI)
CC-Nombre | IDENTIFICACIÓN | Identificación de los padres | Correo electrónico |
Consultoría IC | 1 | 2 | Ian@ejemplo.nl |
Asesoría Consultoría | 2 | 3 | Pedro@ejemplo.nl |
Consultivo | 3 | 4 | Chris@ejemplo.nl |
Total Consultivo | 4 | 5 | Sara@ejemplo.nl |
CIMA | 5 | Zoe@ejemplo.nl | |
Consultoría PD | 6 | 2 | Ian@ejemplo.nl |
Consultoría IC | 1 | 2 | andreas@ejemplo.nl |
La tabla de hechos consta de una fila para cada empleado que representa la estructura total del centro de costos al que pertenecen:
ID de empleado | CCL1 | CCL2 | CCL3 | CCL4 | CCL5 | Puntaje |
1 | Consultoría IC | Asesoría Consultoría | Consultivo | Total Consultivo | CIMA | 5 |
2 | Consultoría IC | Asesoría Consultoría | Consultivo | Total Consultivo | CIMA | 5 |
3 | Consultoría IC | Asesoría Consultoría | Consultivo | Total Consultivo | CIMA | 5 |
4 | Consultoría IC | Asesoría Consultoría | Consultivo | Total Consultivo | CIMA | 52 |
5 | Consultoría IC | Asesoría Consultoría | Consultivo | Total Consultivo | CIMA | 14 |
6 | Consultoría IC | Asesoría Consultoría | Consultivo | Total Consultivo | CIMA | 17 |
7 | Consultoría PD | Asesoría Consultoría | Consultivo | Total Consultivo | CIMA | 15 |
8 | Consultoría PD | Asesoría Consultoría | Consultivo | Total Consultivo | CIMA | 19 |
Mi pregunta: ¿cómo puedo vincular esas dos tablas para crear un RLS dinámico? ¿Es eso realmente necesario, o puedo hacer algo elegante con tablas desconectadas?
¡Muchas gracias!
Mejor, Huelga88
ibarrau
Hola. RLS puede ser complicado, pero puede hacerlo. Estoy estropeando mi blog con este post porque iba a escribir sobre esto jaja.
Puede intentar agregar una regla en su tabla de hechos RLS como esta:
[EmployeeDCCL1] IN SUMMARIZE(FILTER(First_table, First_Table[Email] = USERNAME()), Fist_table[CC-Name])
Debo mostrar los cc-nombres de ese correo electrónico y comprobar con el «IN» si están en el hecho.
Además de esto, permítame advertirle que RLS debe aplicarse a la dimensión. La aplicación de rls a los hechos puede resultar en un bajo rendimiento.
Espero que esto funcione.
Anónimo
En respuesta a ibarrau
Hola @ibarrau,
Gracias por tratar de ayudarme, ¡realmente disfruto esta comunidad!
Desafortunadamente, no resolví mi problema con su solución. Vea la captura de pantalla a continuación. ¿Qué hice mal?
¿Necesito crear una relación entre las tablas?
¡Gracias por adelantado!
amichandak
@Anónimo, vi esto hace mucho tiempo. Pero recuerdo que mostraron el cálculo de venir alrededor de RLS. Compruebe si esto puede ayudar
https://community.powerbi.com/t5/MBAS-Gallery/Microsoft-Power-BI-Unleash-row-level-security-patterns-in-Power/td-p/712613
Anónimo
En respuesta a amichandak
Hola @amitchandak,
Gracias por tomarse el tiempo para volver a mí. Desafortunadamente, esto no resuelve mi problema, o me estoy perdiendo algo. Necesito ayuda para implementar esto. ¿Cómo funcionaría eso para mi situación particular?
Atentamente,