Forum Discussion
Indefinido
Tengo esta tabla jerárquica de empleados que he creado un informe a los gerentes de línea. Pero quiero restringir el nivel de granularidad que un gerente debería ver. Por ejemplo, mis datos tienen 8 niveles de jerarquía y quiero que los administradores puedan ver los datos de no más de 2 niveles por debajo de ellos en la jerarquía. Es decir, no importa qué nivel sea el gerente debe ser capaz de ver los datos de su propio informe, el informe de la primera persona, decir "A" debajo de él y el informe de la siguiente persona, decir "B" que está por debajo de "A". No debería ver ningún informe por debajo de ese nivel. Por favor, necesito tu ayuda. Ya he creado un filtro para filtrar que cada administrador puede ver a todos los que están debajo de ellos usint su USERPRINCIPALNAME().
Hola @TakumEmmanuel ,
Cree una tabla de Employee_ID no relacionada como segmentación de datos.
Cuadro 2 - DISTINCT('Table'[Employee_ID])Utilice la función path para buscar la ruta de acceso completa de un miembro de la tabla original y crear la columna Longitud de ruta.
Path('Table'[Employee_ID],'Table'[Employee_ID]) Longitud de la ruta de acceso ? PATHLENGTH('Table'[Path])Cree una medida para determinar si es la ruta de acceso más larga y aplíquela en el filtro de nivel visual.
Medida: IF(SEARCH(SELECTEDVALUE('Table 2'[Employee_ID]),MAX('Table'[Path]),1,0)>0&&MAX('Table'[Path Length])-CALCULATE(MAX('Table'[Path Length]),ALL('Table')),1,0)Consulte:
Saludos
Liang
Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
4 Replies
- amitchandak
Super User
@TakumEmmanuel , Vea si estos documentos alrededor de RLS para la jerarquía organizativa pueden ayudar
https://radacad.com/dynamic-row-level-security-with-organizational-hierarchy-power-bi
https://www.blue-granite.com/blog/using-dynamic-row-level-security-with-organizational-hierarchies- AnonymousNot applicable
nks Amit, esto es exactamente lo que me guió y todo está funcionando bien aparte del hecho de que no soy capaz de limitar la vista de los gerentes para ver sólo dos pasos hacia abajo por debajo de ellos. Esto significa que el CEO verá información para 7 etapas por debajo de él que no es lo que quiero. ¿Cómo limito esto en el DAX a continuación, por ejemplo?
PATHCONTAINS(CurrentEmployees[Current_IDpath],
MAXX(FILTER(CurrentEmployees,
[Manager_Email_Address] - USERPRINCIPALNAME()),
CurrentEmployees[Staff_Number))
- Greg_Deckler
Community Champion
- V-lianl-msft
Community Support
Hola @TakumEmmanuel ,
Cree una tabla de Employee_ID no relacionada como segmentación de datos.
Cuadro 2 - DISTINCT('Table'[Employee_ID])Utilice la función path para buscar la ruta de acceso completa de un miembro de la tabla original y crear la columna Longitud de ruta.
Path('Table'[Employee_ID],'Table'[Employee_ID]) Longitud de la ruta de acceso ? PATHLENGTH('Table'[Path])Cree una medida para determinar si es la ruta de acceso más larga y aplíquela en el filtro de nivel visual.
Medida: IF(SEARCH(SELECTEDVALUE('Table 2'[Employee_ID]),MAX('Table'[Path]),1,0)>0&&MAX('Table'[Path Length])-CALCULATE(MAX('Table'[Path Length]),ALL('Table')),1,0)Consulte:
Saludos
Liang
Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.