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

Learn from the best! Meet the four finalists headed to the FINALS of the Power BI Dataviz World Championships! Register now

Reply
Syndicate_Admin
Administrator
Administrator

RLS con tablas condicionales

Hola, estaba ayudando a alguien podría ayudarme mientras intento implementar RLS en un modelo que he heredado.

En pocas palabras, el Usuario está en una tabla con su ID y otra columna que especifica a qué tabla hacer referencia para averiguar el Área asociada con ese Usuario. Hay 2 tablas de este tipo, que luego actúan para filtrar una tabla principal que finalmente da el Av$ asociado a esa área.

Entonces, en mi siguiente ejemplo simplificado, si el Usuario 100 está usando el modelo, saltará a 'Tabla A', identificará 'Nth' como el Área y luego filtrará Nth en la tabla principal para mostrar $ 100 como resultado final.

naninamu_0-1688470492849.png

No puedo entender cómo hacer esto.... es la parte de tener que elegir la Tabla A o la Tabla B lo que me confunde.

Si alguien puede guiarme en la dirección correcta, sería muy apreciado.

Gracias - Andrew

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

Gracias por la solución que ha proporcionado. He echado un vistazo y creo que lo entiendo, pero tenía algunas preguntas de seguimiento:

1) Me he dado cuenta de que he simplificado demasiado mi modelo. Un usuario puede aparecer en AMBAS tablas A y B, pero con diferentes áreas. Es por eso que la selección inicial de la Tabla A o B es tan importante. Creo que con su código esto sería un problema? ¿Se puede adaptar el código para manejar esto?

2) Estoy pensando que ni siquiera puedo configurar mi modelo de datos para reflejar mi situación, ya que tendrá un camino ambiguo. La única forma de evitarlo sería tener una relación inactiva (por lo que si el usuario de la tabla A está activo, el usuario de la tabla B está inactivo, que de alguna manera se activa cuando es necesario. Tengo entendido que esto no es posible lograr usando DAX en RLS. ¿Estoy en lo correcto en este entendimiento?

Gracias de antemano.

Syndicate_Admin
Administrator
Administrator

¡Muchas gracias por esto! Intentaré implementarlo (a la situación de la vida real un poco más complicada) y ver cómo vamos.

Saludos, Andrew

Syndicate_Admin
Administrator
Administrator

@naninamu ,

Intente crear un rol con la siguiente fórmula dax:

[Area] =
VAR _id =
    USERPRINCIPALNAME ()
VAR a =
    CALCULATE ( MAX ( 'User'[Table] ), CONTAINSSTRING ( 'User'[ID], _id ) )
VAR b =
    CALCULATE ( MAX ( 'Table A'[Area] ), CONTAINSSTRING ( 'Table A'[ID], _id ) )
VAR c =
    CALCULATE ( MAX ( 'Table B'[Area] ), CONTAINSSTRING ( 'Table B'[ID], _id ) )
VAR val =
    SWITCH ( a, "A", b, "B", c )
RETURN
    val

vbinbinyumsft_0-1688630499970.png

agregue un objeto visual de tabla con campos de tabla:

Animation09.gif

Consulte el archivo .pbix adjunto.

Saludos
Apoyo de la comunidad Team_Binbin Yu
Si este post Ayuda, entonces por favor considere Acéptalo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Helpful resources

Announcements
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.

February Power BI Update Carousel

Power BI Monthly Update - February 2026

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

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.