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
Tengo un modelo de datos en PowerBI con la siguiente configuración.
1) OIS es nuestra tabla principal con muchos registros transaccionales para todos nuestros clientes.
2) Enlaces directos de la tabla OIS a OISPermissionGroup con relación 1-Many
3) Todas las tablas dentro de la sección PINK (es decir. OISPermissionGroup, PermissionGroup, UserPermissionGroup, User) son las tablas que estamos usando para identificar el permiso de usuario. En otras palabras, permite a Power BI filtrar los registros asociados a diferentes clientes. Por ejemplo, el inicio de sesión de CustomerA solo debe ver los datos de CustomerA. El inicio de sesión de CustomerB solo debe ver los datos de CustomerB.....y así sucesivamente. Mediante el uso de este concepto, CustomerB no debe ver los datos de otros clientes en su propio inicio de sesión.
4) Al mismo tiempo, hice la siguiente configuración en la pantalla Administrar roles bajo la tabla OIS con una expresión DAX para filtrar registros de usuario específicos para una relación de 1-Many entre OIS y Por lo tanto, puedo ver fácilmente registros específicos en la tabla OIS desde la perspectiva de usuario diferente cambiando int(username()) en la expresión a un ID de usuario determinado y elegir "Ver como roles" por usuario.
Aquí está el DAX que estoy usando en la tabla OIS:
int(username()) en SELECTCOLUMNS(RelatedTable(OrderedItemSummaryPermissionGroup), "User", [UserId])
5) La tabla DTD/DTP/PTD/PTP son tablas de estado de envío ("Estado") calculadas a partir de OIS mediante la expresión DAX basada en ciertas condiciones (es decir. FUNción RESUME de la tabla OIS). Estas 4 tablas están dispuestas en el mismo formato, pero sólo el cálculo es ligeramente diferente. Hay una columna calculada común en estas 4 tablas llamadas "CustomerId", "Mode" y "Transit Time" que se utilizarán más adelante.
6) La tabla Combine es una tabla calculada que consolida todos los registros calculados de DTD/DTP/PTD/PTP mediante la expresión UNION y SELECTCOLUMNS.
7) En la tabla Combinar, creé una nueva columna llamada "Días de destino promedio" para calcular el promedio de días por cada una de las tablas DTD/DTP/PTD/PTP por "CustomerId" por "Estado" por "Modo" que se calcula correctamente utilizando la expresión DAX.
(8) Ahora, quiero que cada uno de nuestros clientes vea sus propios "Días de Destino Promedio" basados en su propio permiso de usuario. Intenté agregar la misma expresión DAX del paso (4) en la tabla Combine, pero no funcionó. Básicamente, quiero crear una seguridad de nivel de fila dinámica con varias tablas al igual que lo que tengo en el diagrama. La fórmula DAX no funciona si pongo esa fórmula en el Combine
¿Alguien puede ayudar en este tema?
Muchas gracias!!
Saludos
Emily
Solved! Go to Solution.
Hola @emilypoon1 ,
Puede crear una nueva tabla para almacenar el buzón y el identificador del usuario. por favor refiérase a este blog:https://radacad.com/dynamic-row-level-security-with-power-bi-made-simple
Saludos
Liang
Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola @emilypoon1 ,
Puede crear una nueva tabla para almacenar el buzón y el identificador del usuario. por favor refiérase a este blog:https://radacad.com/dynamic-row-level-security-with-power-bi-made-simple
Saludos
Liang
Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
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.