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

We've captured the moments from FabCon & SQLCon that everyone is talking about, and we are bringing them to the community, live and on-demand. Starts on April 14th. Register now

Reply
Syndicate_Admin
Administrator
Administrator

UseRelationship() y RLS restringidos

Hola a todos

Estoy atascado con el siguiente error

Las funciones UseRelationship() y CrossFilter() no se pueden utilizar al consultar 'TableA' porque está limitada por la seguridad de nivel de fila definida en 'TableA' o tablas relacionadas.

Todo lo que hice fue crear una medida en alguna tabla (TableX) que tiene relación inactiva (1:*) con TableA, ya que la relación está inactiva utilicé la función Userelationship dentro del calcuate. Funcionó para mí, pero cuando lo publico, ¿otros usos obtienen el error anterior? Entiendo que tanto la tabla A como la tabla X tienen una relación activa con la tabla Proyecto donde se está aplicando el filtro RLS. Necesito que ambas relaciones existan con el proyecto. ¿Cómo puedo resolver esto?

Gracias por la ayuda.

7 REPLIES 7
Syndicate_Admin
Administrator
Administrator

A quien corresponda,

Tuve el mismo problema al usar USERELATIONSHIP() y RLS.

En mi caso, el uso de INTERSECT() no me proporcionó los resultados correctos.

Esto es (una parte) de mi modelo de datos:

Contezini_0-1697612046928.png

Básicamente, necesito lograr la suma de horas rastreadas en la tabla de seguimiento de tiempo por orden de trabajo (ID únicos).

PD: TimeTracking se puede hacer en diferentes niveles (no necesariamente en una orden de trabajo, por eso no hay una relación activa)

Mi DAX original era el siguiente:

Horas de OT =
CALCULAR(
SUM('Seguimiento del tiempo'[Cantidad]),
USERELATIONSHIP(
Órdenes de trabajo[WO],
'Seguimiento del tiempo'[Workorder_No]
)
)

Así que lo he cambiado al siguiente cálculo, donde funcionó bien:

Horas de OT =
DÓNDE xWO = SELECTEDVALUE(Órdenes de trabajo[DONDE],FALSO())
DEVOLUCIÓN
SI( xWO=FALSO,
SUMA('Seguimiento del tiempo'[Cantidad]),
CALCULAR(
SUMA('Seguimiento del tiempo'[Cantidad]),
'Seguimiento del tiempo'[Workorder_No] = xWO
)
)

Aunque la medida requiere mucha más capacidad (tarda más en cargarse), ahora el modelo funciona bien 🙂

Syndicate_Admin
Administrator
Administrator

@alisaleh exactamente, me alegro de que tenga una solución. ¡¡Bien!!

Síguenos en LinkedIn (en inglés) y YouTube.gif a nuestro YouTube (en inglés) canal

Yo lo haría Elogios si mi solución ayudó. 👉 Si puede dedicar tiempo a publicar la pregunta, también puede hacer un esfuerzo para felicitar a quien ayudó a resolver su problema. ¡Es una muestra de agradecimiento!

Visítenos en https://perytus.com, su ventanilla única para proyectos/formación/consultoría relacionados con Power BI.

Syndicate_Admin
Administrator
Administrator

@alisaleh también puede utilizar la técnica definida en esta entrada de blog Resolviendo RLS Gotchas – Prologika

Síguenos en LinkedIn (en inglés) y YouTube.gif a nuestro YouTube (en inglés) canal

Yo lo haría Elogios si mi solución ayudó. 👉 Si puede dedicar tiempo a publicar la pregunta, también puede hacer un esfuerzo para felicitar a quien ayudó a resolver su problema. ¡Es una muestra de agradecimiento!

Visítenos en https://perytus.com, su ventanilla única para proyectos/formación/consultoría relacionados con Power BI.

@parry2k ,

Vi esa publicación, y no entendí cómo se puede usar la intersección en lugar de userelationship. La userelationship es la función utilizada en Calcular. ¿Puede proporcionar un ejemplo?

Resulta que puede usar la intersección en el cálculo de la función semilar a USERELATIONSHIP()

Syndicate_Admin
Administrator
Administrator

@Jeanxyz ,

Gracias por su respuesta. Revisaré el video y veré si ayudará. como mencioné en mi primer post hay una tabla de proyecto a la que tanto A como X están conectadas y esa tabla de proyecto es la que tiene el RLS. No es tan sencillo, sino solo para simplificarlo porque la tabla del proyecto está conectada indirectamente a través de otra tabla de dimensiones que está conectada a la tabla A y necesito que esta relación se quede.

Syndicate_Admin
Administrator
Administrator

¿Puede comprobar qué tabla de dimensiones se utiliza para configurar RLS? Si se utiliza la tabla A para configurar el filtro RLS (como sugiere el mensaje erro), eso sería realmente arriesgado.

Como solución alternativa, tal vez pueda crear RLS usando lookupvalue, para evitar crear cualquier relación. Eso podría resolver el problema.

https://www.youtube.com/watch?v=9wN33rTaiB4&t=498s

Helpful resources

Announcements
New to Fabric survey Carousel

New to Fabric Survey

If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.

Join our Fabric User Panel

Join our Fabric User Panel

Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.

March Power BI Update Carousel

Power BI Community Update - March 2026

Check out the March 2026 Power BI update to learn about new features.

Top Kudoed Authors