Forum Discussion
Ayuda con path
Tengo una tabla de AD
| índice | user.__index | Manager_Level_06 | manager.__index | Manager_Level_05 | Manager_Level_04 | id de empleado | userPrincipalName | MgrPrincipalName | Manager_Path | Longitud del camino |
| 93 | Nombre completo | Nombre de usuario | Nombre de Mons. | Nombre Mgr Directo (903) | Nombre de Mons. Siguiente Nivel(354) | FN1234 | [email protected] | [email protected] | 354|903|93 | 3 |
Estoy tratando de crear un filtro desplegable que refleje al usuario que ha iniciado sesión y todos sus informes, no solo el informe directo. Usando estas dos medidas he hecho que funcione para un gerente determinado y reportes directos.
ReportViewer = USERPRINCIPALNAME()
// This measure below checks to see if the logged in user is a manager
// if not all datea are restricted to the logged in user id by adding MgrUserFilter directly // to a measure where MgrUserFilter is 1
MgrUserFilter =
IF(
SELECTEDVALUE(TechMgrEmail[MgrPrincipalName]) = [ReportViewer] || SELECTEDVALUE(TechMgrEmail[userPrincipalName]) = [ReportViewer] ,1,0
)
Quiero haber iniciado sesión en el usuario 903 ver el usuario 93 y el usuario conectado 354 debería ver 903 y 93. El camino viene con la mesa. hay más de 15,000 filas, por lo que recrear un camino sería doloroso.
Agradecería sinceramente su ayuda.
Para comprobar si un usuario en particular debe ser visible (es decir, si es el usuario que ha iniciado sesión o en algún lugar por debajo del usuario que ha iniciado sesión en la jerarquía), puede comprobar si el índice del usuario actual está en la Manager_Path de cada usuario.
Puede escribir su MgrUserFilter de la siguiente manera:
MgrUserFilter = VAR CurrentUserIndex = LOOKUPVALUE ( TechMgrEmail[index], TechMgrEmail[userPrincipalName], [ReportViewer] ) RETURN -- Return 0/1 INT ( PATHCONTAINS ( SELECTEDVALUE ( TechMgrEmail[Manager_Path] ), CurrentUserIndex ) )Saludos
Owen
2 Replies
- Syndicate_Admin
Administrator
Para comprobar si un usuario en particular debe ser visible (es decir, si es el usuario que ha iniciado sesión o en algún lugar por debajo del usuario que ha iniciado sesión en la jerarquía), puede comprobar si el índice del usuario actual está en la Manager_Path de cada usuario.
Puede escribir su MgrUserFilter de la siguiente manera:
MgrUserFilter = VAR CurrentUserIndex = LOOKUPVALUE ( TechMgrEmail[index], TechMgrEmail[userPrincipalName], [ReportViewer] ) RETURN -- Return 0/1 INT ( PATHCONTAINS ( SELECTEDVALUE ( TechMgrEmail[Manager_Path] ), CurrentUserIndex ) )Saludos
Owen
- Syndicate_Admin
Administrator
Gracias Owen,
Me proporcionaste la solución exacta que necesitaba. Finalmente me había topado con la función BUSCARV, pero no estaba seguro de cómo aplicarla.