Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

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.

Reply
andrea_chiappo
Helper III
Helper III

RLS con USERELATIONSHIPS por todas partes

Hola expertos en Power BI,

NUEVA VERSIÓN

El origen de datos de mi archivo de Power BI son libros de Excel, uno para cada cliente de la empresa para el que trabajo.

Construí varias páginas de informe, donde todos los objetos visuales están controlados por tres segmentaciones principales, que se repiten en todas las páginas:

- nombre del cliente (tomado de una tabla DimCustomers)

- roles de empleados (también tomados de Los DimCustomers)

- fecha (tomar de la tabla CalendarDimUser)

Cuando no se define ningún rol, los informes se ven así

Annotation 2020-05-19 141831.jpg

Los objetos visuales (tanto en esta página como en otros) se basan en las columnas Medidas y Calculado, utilizando todo tipo de funciones DAX

(USERELATIONSHIP, CALCULATE, ALLEXCEPT, DISTINCTCOUNT, COUNTROWS, etc.)

La razón para continuar de esta manera era crear un modelo único de Power BI, adecuado para todos los clientes y, a continuación, definir roles para el nivel de servicio de Power BI. De esta manera, puedo controlar lo que cada cliente ve (por ejemplo, el responsable de Company Inc. que recibirá el enlace al panel, solo verá datos de Company Inc. y así sucesivamente para todos los clientes).

Para lograr esto, creé una tabla DimCustomerPermissions de la siguiente manera

Annotation 2020-05-19 143900.jpg

(las tres direcciones de correo electrónico son de empleados internos y se refieren a empresas cliente simuladas, destinadas sólo a probar todo)

A continuación, creé el rol para uno de estos tres y asigné la dirección de correo electrónico correspondiente, con el siguiente RLS:

Annotation 2020-05-19 145842.jpg

este formato sólo está destinado a probar el enfoque.

En el caso real, reemplazaría el correo electrónico explícito por USERPRINCIPALNAME()

Sin embargo, esto es lo que obtengo cuando intento ver el informe como el rol que acaba de crear

Todo se desmorona.

Sorprendentemente, del mensaje de error esto parece ser una limitación de Power BI, en lugar de un error (pero es muy posible que me equivoque)

Annotation 2020-05-19 145447.jpg

Teniendo en cuenta todo esto, ¿cree que lo que estoy haciendo es factible o el enfoque es intrínsecamente defectuoso (¿modelo único para diferentes fuentes de datos?)

6 REPLIES 6

Gracias @amitchandak

Sin embargo, el RLS dinámico no resuelve mi problema, ya que el problema parece estar más allá de eso

Todos los tutoriales y páginas que he encontrado casos presentes de RLS para modelos extremadamente simplificados

(simplemente mostrando parte de los datos y/o medidas/columnas que implican funciones DAX simples)

La naturaleza de mi problema parece ser una limitación fundamental, donde no se permite un DAX de alto nivel

(con CALCULATE, ALLEXCEPT, USERELATIONSHIP, etc....)

¿Hay alguna solución a esto? Gracias a todo lo que puede proporcionar un poco más de apoyo / perspicacia

Hola @andrea_chiappo ,

Cuando se utiliza la expresión dax para definir RLS en power bi desktop, la mayoría de las funciones dax están disponibles, excepto que no se puede utilizar para crear una tabla virtual becasuse RLS filtra todas las tablas de hechos.

En cuanto a no se puede utilizar funciones como calcular, no lo creo. Consulte mi siguiente expresión en la imagen utilizando la función calculate() es RLS:

RLS.png

Este rol define que cada persona puede mostrar sus propios datos en un nivel de jerarquía de administrador, archivo de ejemplo adjunto al que puede hacer referencia:

RLS expression.pbix

Mejores looks,
Yingjie Li

Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Gracias por su respuesta @v-yingjl

Me di cuenta de que no me explicaba correctamente. Modificaré la pregunta desde el principio.

Hola @andrea_chiappo ,

¿Podría considerar compartir un archivo .pbix ficticio o su expresión de rol rls que utiliza userelationship() y crossfilter() para una discusión más detallada? Tal vez se puede escribir como otra manera de evitar este error.

Mejores looks,
Yingjie Li

la expresión rls es simplemente: [email] - "employee@address.com"

Si amablemente revisa la versión de actualización del post encontrarás una explicación detallada de la situación.

No aparece USERELATIONSHIP o CROSSFILTER en la expresión rls. El problema está en el modelo y parece ser una limitación de DAX

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.