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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
Syndicate_Admin
Administrator
Administrator

Informe de empleado filtrado por el gerente

Tengo una tabla de empleados donde, junto con poca información sobre el empleado, también tengo su información de gerente.

Saniat_0-1673627736403.png

Quiero darle al usuario la opción de gerente y el usuario debería poder ver datos agregados sobre el empleado, por ejemplo, FTE total para ese equipo e información línea por línea.

Por ejemplo, el Sr. Tilf tiene 2 empleados que le reportan: Evka y Siva, por lo que seleccionar al Sr. Tilf me dará FTE total = 2.75

Sr. Tilf 1
Sr. Evka 0,75
Sr. Siva 1

Saniat_1-1673628135000.png


¿Me pueden ayudar por favor?

Adjuntar los datos si ayuda.


Nombre del empleadoID de empleadoManagerHierarchyFTEDepartamentoPaís
Stva3651_3651_34640_199891TSuecia
Evka24243_24243_886_199890.75TSuecia
Siva32136_32136_886_199891TSuecia
Alva18509_18509_34640_199890.75TSuecia
Fiestas13390_13390_20809_199890.75TSuecia
Alguna vez20242_20242_20809_199890.75TSuecia
Medir42163_42163_199891ASuecia
Datz36057_36057_20809_199890.5TSuecia
Bebo31146_31146_20809_199891TSuecia
Maov14773_14773_34640_199891TSuecia
Ivev10512_10512_34640_199891SSuecia
Viey15423_15423_199891ASuecia
Kaov5673_5673_34640_199890.25SSuecia
Clte43563_43563_199891AGran Bretaña
ARVs19989_199891AGran Bretaña
Tsov34640_34640_199891SGran Bretaña
Stov5072_5072_34640_199891SGran Bretaña
Ench20809_20809_199891AGran Bretaña
Tilf886_886_199891AItalia
7 REPLIES 7
Syndicate_Admin
Administrator
Administrator

@Saniat

Puede crear una nueva tabla para filtrar el administrador:

Manager = var _countrows=ADDCOLUMNS('employee',"counts",COUNTROWS(FILTER('employee',CONTAINSSTRING([ManagerHierarchy],EARLIER('employee'[EmployeeID])))))
return SUMMARIZE(FILTER(_countrows,[counts]>1),[EmployeeName],[EmployeeID])

vxinruzhumsft_0-1673854460172.png

A continuación, coloque la columna Empleado de la tabla Administrador en la segmentación de datos.

Y cree una medida en la tabla de empleados:

Display = IF(ISFILTERED(Manager[EmployeeName]),CALCULATE(SUM('employee'[FTE]),FILTER('employee',CONTAINSSTRING([ManagerHierarchy],MAX(Manager[EmployeeID])))),SUM(employee[FTE]))

Salida:

vxinruzhumsft_1-1673854809484.png

¡Saludos!

Yolo Zhu

Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Syndicate_Admin
Administrator
Administrator

CNENFRNL_0-1673644323424.png

Parece que si tengo 20 medidas, necesito integrar este cálculo complejo para ManagerHierarchy para cada cálculo individual. No hay forma de usar un filtro que pueda usar en el panel de filtro.... ¿Estoy en lo cierto?

Syndicate_Admin
Administrator
Administrator

¡Innovador, dale un kudo!:) ¿Qué quiere decir con que no puede usar la tabla, son los datos que proporcionó, dijo que tiene esa tabla? ¿De dónde vas a tomar la información de entonces? Trate de reformular, hago muchos informes de recursos humanos, puede ser que pueda ayudar más

Gracias @olgad !

Estaré reportando la cifra 2.75 en muchos lugares, realmente no puedo poner la lista completa cada vez.

Syndicate_Admin
Administrator
Administrator

Hola Saniat,
Aquí está el resultado:

olgad_0-1673630636060.png

Primero realice cambios en la consulta de energía:

dejar
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary. FromText("jZNPS8QwEMW/ivS8SP626XHVIqvsqYuXUkrQiGFLF7qxsn56M5MitKlrDyWPJD/ezJumqpLSDTrZJDyV1C8NrA0XqSANzXOV+z3YP/iv/DJvpkvqTZUUwxEgJpjgQKFolEp/IXKbyZgrbTBjlKfoBmLCLZhtW4SokgRuNChmNS7bPWl7BJLznCAJomFEef46WQymhwaJ7wwbBLGK3Gvt/I5gNMVoUEoUEoUE za206BB+2+cQBEZmECXkRWS919njoAKRUhTBAzcCHOvT4NcCKyDAtE8f/Id4NBjEiKiaBYwMop9mLNBU6kYMENxLU4nkN5Mg3VwRrNmsnY6L51BnLncswdRGT02Bvtbu5667Qd/65+OMOF8eIK4nDGCrEozH0xg5grXeiMZBggrKvZonv9wP9RhTcQT/mPWm377g/8CwNq/tCA2TndXpK6/gE= ", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [EmployeeName = _t, EmployeeID = _t, ManagerHierarchy = _t, FTE = _t, Department = _t, Country = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"EmployeeName", type text}, {"EmployeeID", Int64.Type}, {"ManagerHierarchy", type text}, {"FTE", type number}, {"Department", type text}, {"Country", type text}}),
#"Valor reemplazado" = Table.ReplaceValue(#"Tipo cambiado","_","|",Replacer.ReplaceText,{"ManagerHierarchy"}),
#"Dividir columna por delimitador" = Table.SplitColumn(#"Valor reemplazado", "ManagerHierarchy", Splitter.SplitTextByEachDelimiter({"|"}, QuoteStyle.Csv, false), {"ManagerHierarchy.1", "ManagerHierarchy.2"}),
#"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"ManagerHierarchy.1", type text}, {"ManagerHierarchy.2", type text}}),
#"Columnas eliminadas" = Table.RemoveColumns(#"Tipo cambiado1",{"ManagerHierarchy.1"}),
#"Renamed Columns" = Table.RenameColumns(#"Columnas eliminadas",{{"ManagerHierarchy.2", "ManagerHierarchy"}}),
#"Duplicated Column" = Table.DuplicateColumn(#"Renamed Columns", "ManagerHierarchy", "ManagerHierarchy - Copy"),
#"Split Column by Delimiter1" = Table.SplitColumn(#"Duplicated Column", "ManagerHierarchy", Splitter.SplitTextByDelimiter("|", QuoteStyle.Csv), {"ManagerHierarchy.1", "ManagerHierarchy.2", "ManagerHierarchy.3"}),
#"Changed Type2" = Table.TransformColumnTypes(#"Split column by delimiter1",{{"ManagerHierarchy.1", Int64.Type}, {"ManagerHierarchy.2", Int64.Type}, {"ManagerHierarchy.3", Int64.Type}}),
#"Columnas eliminadas1" = Table.RemoveColumns(#"Tipo cambiado2",{"ManagerHierarchy.1"}),
#"Renamed Columns1" = Table.RenameColumns(#"Columnas eliminadas1",{{"ManagerHierarchy.2", "ParentEmployeeID"}}),
#"Columnas eliminadas2" = Table.RemoveColumns(#"Columnas renombradas1",{"ManagerHierarchy.3"}),
#"Renamed Columns2" = Table.RenameColumns(#"Columnas eliminadas2",{{"ManagerHierarchy - Copy", "ManagerHierarchy"}})
en
#"Columnas renombradas2"
de izquierda a derecha

olgad_5-1673630999167.pngolgad_6-1673631020310.png

Luego ölets crea 3 columnas calculadas.

Nivel = LONGITUD DE RUTA(Emloyee[ManagerHierarchy])

olgad_1-1673630708786.png

ManagerName = LOOKUPVALUE(emloyee[EmployeeName],emloyee[EmployeeID],emloyee[ParentEmployeeID])

olgad_2-1673630762118.png

Equipo = SI(emloyee[Nivel]>2,LOOKUPVALUE(emloyee[EmployeeName],emloyee[EmployeeID],PATHITEM(emloyee[ManagerHierarchy],2,INTEGER)),emloyee[EmployeeName])
olgad_3-1673630799650.pngolgad_4-1673630842075.png

Avísame si lo lograste.

Solución muy innovadora!

Pero el problema identificado aquí es solo una parte de un informe más grande, y necesito informar estas dos medidas (agregadas para el equipo y detalles de cada empleado) en varios lugares, y desafortunadamente no puedo usar la tabla completa (como su solución) cada vez.

Helpful resources

Announcements
LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.

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.