Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
Tengo una tabla de empleados donde, junto con poca información sobre el empleado, también tengo su información de gerente.
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
¿Me pueden ayudar por favor?
Adjuntar los datos si ayuda.
Nombre del empleado | ID de empleado | ManagerHierarchy | FTE | Departamento | País |
Stva | 3651 | _3651_34640_19989 | 1 | T | Suecia |
Evka | 24243 | _24243_886_19989 | 0.75 | T | Suecia |
Siva | 32136 | _32136_886_19989 | 1 | T | Suecia |
Alva | 18509 | _18509_34640_19989 | 0.75 | T | Suecia |
Fiestas | 13390 | _13390_20809_19989 | 0.75 | T | Suecia |
Alguna vez | 20242 | _20242_20809_19989 | 0.75 | T | Suecia |
Medir | 42163 | _42163_19989 | 1 | A | Suecia |
Datz | 36057 | _36057_20809_19989 | 0.5 | T | Suecia |
Bebo | 31146 | _31146_20809_19989 | 1 | T | Suecia |
Maov | 14773 | _14773_34640_19989 | 1 | T | Suecia |
Ivev | 10512 | _10512_34640_19989 | 1 | S | Suecia |
Viey | 15423 | _15423_19989 | 1 | A | Suecia |
Kaov | 5673 | _5673_34640_19989 | 0.25 | S | Suecia |
Clte | 43563 | _43563_19989 | 1 | A | Gran Bretaña |
ARVs | 19989 | _19989 | 1 | A | Gran Bretaña |
Tsov | 34640 | _34640_19989 | 1 | S | Gran Bretaña |
Stov | 5072 | _5072_34640_19989 | 1 | S | Gran Bretaña |
Ench | 20809 | _20809_19989 | 1 | A | Gran Bretaña |
Tilf | 886 | _886_19989 | 1 | A | Italia |
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])
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:
¡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.
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?
¡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.
Hola Saniat,
Aquí está el resultado:
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
Luego ölets crea 3 columnas calculadas.
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.