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
Syndicate_Admin
Administrator
Administrator

Vista de informe predeterminada dinámica por usuario

Hola a todos

Tengo un informe que se filtra por unidad de negocio dentro de la empresa. La jerarquía de unidades de negocio es una jerarquía irregular. También hay seguridad de nivel de fila (RLS) en las unidades de negocio para que los usuarios solo puedan ver las unidades de negocio a las que tienen acceso.

El requisito es tener el informe abierto para un usuario y su vista predeterminada muestra 1 nivel por debajo de su unidad de negocio predeterminada en un gráfico de columnas apiladas, donde las unidades de negocio están en el eje x. Luego, a partir de esto, el usuario puede profundizar en una unidad de negocio específica para ver más detalles en el gráfico.

Por ejemplo, la tabla de unidades de negocio está estructurada de la siguiente manera:

Nivel 1Nivel 2Nivel 3
ABC
ABD
AEF
AG

(esto es mucho más simplificado que nuestra jerarquía real, donde hay muchos más niveles y valores)

Con el RLS, por ejemplo, si solo tienen acceso a C y D, entonces el usuario aún podría ver el padre B y A, pero solo sumará C y D en esos niveles superiores. No queremos que el usuario abra el informe con él en el nivel A, que solo sumaría C y D con RLS, pero piensan que es el verdadero valor para A, cuando realmente no lo es, ya que A tiene otros hijos pero el usuario simplemente no puede verlos.

Tengo 2 ideas posibles:

1) Estaba pensando en tener una tabla que mantendría manualmente para todos los usuarios y su unidad de negocio predeterminada:

Predeterminado
Usuario 1A
Usuario 2B
Usuario 3G

De modo que cuando el usuario 1 abra el informe, debería ver en el eje x: B, E y G. Cuando el usuario 2 abra el informe, debería ver C y D. Cuando el usuario 3 abre el informe, debería ver G ya que no hay nada más bajo que G.

Luego, necesito hacer que los campos que estoy usando en el eje x del gráfico de columnas cambien dinámicamente en función de quién está viendo el informe. Lo que quiero decir con esto es que el Usuario 2 ve C y D, por lo que este es el Nivel 2 en la primera tabla. Así que no puedo tener el Nivel 1 como un campo en el eje x, ya que no mostrará ese nivel por debajo. Y el usuario 3 ve G que es el nivel 3, por lo que no puedo tener el nivel 2 como un campo en el eje x para este usuario. Necesito que los campos se actualicen dinámicamente en función de quién está viendo el informe.

Estaba pensando en usar la función USERPRINCIPALNAME() para obtener quién está viendo el informe, luego usar LOOKUPVALUE() para encontrar su unidad de negocio predeterminada de la tabla mantenida manualmente, luego mostrar solo esas unidades de negocio y unidades de negocio secundarias en columnas calculadas, pero esta función USERPRINCIPALNAME() no se puede usar en una columna calculada. Así que no sé cómo cambiar dinámicamente las columnas calculadas en función de quién está viendo el informe.

¿Alguna idea sobre cómo hacer que el eje x cambie dinámicamente? ¿Podría usar de alguna manera los parámetros de campo? Sin embargo, no estoy seguro de cómo podría aplicarlos aquí.

2) Otra posible solución simplificada es que solo tengo todos los niveles de la unidad de negocio en el eje x, luego, cuando un usuario abre el informe por primera vez, ve el padre A superior (aunque debería ver su nivel inferior al predeterminado). Pero luego los entreno para que profundicen hasta su nivel correcto usando la función de desglose, y luego les enseño a guardar esa vista como un marcador personal predeterminado, de modo que siempre se abra a ese nivel hacia abajo sin importar cómo modifiquen el informe después. Sin embargo, no es una experiencia de usuario ideal tener que configurarlo inicialmente.

O

Modifico manualmente el informe para cada vista predeterminada, luego obtengo un enlace "Compartir" para cada una y envío esos enlaces a las personas correctas. Es un poco de trabajo manual a menos que pueda automatizarlo con Power Automate o algún programa. Tenga en cuenta que este ejemplo mostraba 3 usuarios, pero siendo realistas habrá muchos usuarios y muchas vistas únicas.

¿Alguna idea sobre esto, o si has hecho esto antes? Cualquier nueva idea o aporte es muy apreciado.

¡Gracias de antemano!

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Descubrí una solución. Tenía una nueva tabla donde necesito administrar cada usuario y su valor predeterminado inicial. Luego creó otra tabla que es por usuario y por unidad de negocio, y use una búsqueda para obtener su valor predeterminado inicial. Luego, a partir de eso, creó "Defaultlevel1", "Defaultlevel2", etc. Los campos que comienzan en su valor predeterminado inicial obtienen el siguiente elemento de ruta y luego colocan la seguridad de nivel de fila en esta nueva tabla basada en el correo electrónico del usuario.

View solution in original post

1 REPLY 1
Syndicate_Admin
Administrator
Administrator

Descubrí una solución. Tenía una nueva tabla donde necesito administrar cada usuario y su valor predeterminado inicial. Luego creó otra tabla que es por usuario y por unidad de negocio, y use una búsqueda para obtener su valor predeterminado inicial. Luego, a partir de eso, creó "Defaultlevel1", "Defaultlevel2", etc. Los campos que comienzan en su valor predeterminado inicial obtienen el siguiente elemento de ruta y luego colocan la seguridad de nivel de fila en esta nueva tabla basada en el correo electrónico del usuario.

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.