Microsoft is giving away 50,000 FREE Microsoft Certification exam vouchers!
Enter the sweepstakes now!Prepping for a Fabric certification exam? Join us for a live prep session with exam experts to learn how to pass the exam. Register now.
Hola
Llevo tiempo aprendiendo power bi y hace poco "heredé" un informe de una persona que ya no trabaja en mi empresa. Me pidieron que lo actualizara, así que no fue difícil, pero cuando miré el modelo, me pareció que era demasiado complicado y que había muchas relaciones de muchos a muchos en él.
Intenté crear un nuevo modelo que cumpliera con todos los requisitos, pero no puedo averiguar cómo estructurar el subproceso para evitar la creación de relaciones de varios a varios.
La estructura de la empresa es complicada. Lo presentaré con datos falsos.
1. Un empleado puede trabajar en varios departamentos.
2. Los resultados completos de las ventas de cada empleado deben ser vistos por el gerente y su adjunto en el departamento en el que trabaja el empleado.
3. Además, los empleados pueden vender productos que están asignados por defecto al departamento en el que no están empleados. Entonces el gerente de este departamento debe ver sus resultados sólo en la parte que concierne a su departamento. Entonces, si un empleado está empleado en dos departamentos, sus resultados completos son vistos por hasta 4 personas. Si vende un producto de otro departamento, 2 personas más también deben ver algunos de los resultados. Por lo tanto, es imposible obtener una tabla única con gerentes y suplentes que luego se pueda utilizar para RLS.
La tabla de empleados es muy detallada, pero los gerentes insisten en que deben filtrar los datos por las columnas disponibles en la tabla. Quieren saber cómo son las ventas en función de los resultados de los empleados de la facultad y, además, de los empleados de fuera de la facultad.
Estamos usando RLS, por lo que la relación de varios a varios no filtra los datos correctamente.
No sé por dónde empezar con esto. Espero que lo que escribí sea comprensible. Si tiene alguna sugerencia, se lo agradecería. Me gustaría mejorarlo, porque me parece que no está hecho del todo bien, y me estoy quedando sin ideas.
Ejemplo de tabla de ventas. Puede tomar el código de departamento del código de producto: son los primeros 2 dígitos
Ejemplo de tabla de usuarios que se debe utilizar para aplicar RLS.
Tabla de empleados. Es muy detallado. El código de ventas se toma de la tabla de ventas, DEP_CODE es el código del departamento que se corresponde con la tabla de usuario.
Por lo tanto, la forma en que se intentó hacer fue que la tabla de usuario se conectara a la tabla de empleados por DEP_CODE, y luego user_ID y SALES_CODE combinaran como clave (por ejemplo, "1x24") conectada a la tabla de ventas con la misma lógica de clave.
Pero no funciona debido a la relación de muchos a muchos. ¿Alguna idea?
No siempre se pueden evitar muchas o muchas relaciones. Lo que debes evitar si quieres que el SPI tenga éxito son las relaciones bidireccionales de muchos a muchos, o peor aún, las relaciones y el SPI en ambos lados. Desea que los filtros RLS fluyan solo en una dirección: desde el exterior del modelo de datos hacia el interior.
Hola @KatTheDuck
Tal vez pueda crear una tabla puente que contenga tres columnas: EmployeeID, DepartmentID y una marca que indique si el empleado es un gerente/adjunto (Verdadero/Falso). A continuación, puedecrear relaciones de uno a varios de la tabla Employee a la tabla puente y de la tabla Department a la tabla bridge, y puede establecer el RLS en el ID de departamento en la tabla puente donde el indicador manager/deputy es True.
Check out the May 2025 Power BI update to learn about new features.
Explore and share Fabric Notebooks to boost Power BI insights in the new community notebooks gallery.