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
Estoy tratando de implementar RLS dinámico, pero tener problemas y sería genial si pudiera un poco de ayuda.
Tengo las dos tablas a continuación y tengo la siguiente fórmula
[email] - USERPRINCIPALNAME()
Funciona bien para los dos primeros customerIDs (A y B) pero no funciona para los ID de cliente C y D.
Funcionaría si creara varias filas para C y D, pero eso haría que la relación de tabla fuera de muchos y produjera datos incorrectos.
¿Cómo podría implementar RLS dinámico en esta situación?
Id | Cantidad | Customerid |
1 | 100 | A |
2 | 200 | A |
3 | 300 | B |
4 | 400 | B |
5 | 500 | B |
6 | 600 | C |
7 | 700 | C |
8 | 800 | D |
9 | 900 | D |
10 | 1000 | D |
Customerid | Nombre del cliente | Correo electrónico |
A | Aaa | 111@xxxxxx.com |
B | Bbb | 222@xxxxx.com |
C | Ccc | 222@xxxxx.com,333@xxxxx.com |
D | Ddd | 333@xxxxx.com,444@xxxxx.com |
La tabla siguiente funcionaría, pero los datos serían erróneos, ya que serían muchas a muchas relaciones.
Customerid | Nombre del cliente | Correo electrónico |
A | Aaa | 111@xxxxxx.com |
B | Bbb | 222@xxxxx.com |
C | Ccc | 222@xxxxx.com |
C | Ccc | 333@xxxxx.com |
D | Ddd | 333@xxxxx.com |
D | Ddd | 444@xxxxx.com |
Solved! Go to Solution.
Hola @hideakisuzuki01
Construyo dos mesas como la tuya para hacerme una prueba.
Tabla de datos:
Tabla de usuario (Se ha transformado en el editor de Power Query por Split.):
Cree una relación de varios a muchos entre las columnas CustomerID en dos tablas.
A continuación, agregue dos expresiones Dax en roles de mange.
En la tabla Datos:
[CustomerID] =
CALCULATE (
MAX(Data[CustomerID]),
FILTER (
User,
User[email] = USERPRINCIPALNAME()
&& User[CustomerID] = Data[CustomerID]
)
)
En la tabla Usuario:
[email] = USERPRINCIPALNAME()
Vamos a usar view como para ver el resultado.
Puede descargar el archivo pbix desde este enlace: Dynamic RLS with multiple USERPRINCIPALNAME()
Saludos
Rico Zhou
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola @hideakisuzuki01
Construyo dos mesas como la tuya para hacerme una prueba.
Tabla de datos:
Tabla de usuario (Se ha transformado en el editor de Power Query por Split.):
Cree una relación de varios a muchos entre las columnas CustomerID en dos tablas.
A continuación, agregue dos expresiones Dax en roles de mange.
En la tabla Datos:
[CustomerID] =
CALCULATE (
MAX(Data[CustomerID]),
FILTER (
User,
User[email] = USERPRINCIPALNAME()
&& User[CustomerID] = Data[CustomerID]
)
)
En la tabla Usuario:
[email] = USERPRINCIPALNAME()
Vamos a usar view como para ver el resultado.
Puede descargar el archivo pbix desde este enlace: Dynamic RLS with multiple USERPRINCIPALNAME()
Saludos
Rico Zhou
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
@hideakisuzuki01 , c tiene el mismo ID de correo electrónico que B ? Lo mismo para D mismo ID de correo electrónico que C.
Yes, B and C has the same email, because I want both users (222@xxxxx.com and 333@xxxxx.com) to have access to Company B and C`s data.
Does it make sense ?
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 |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |