Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!
Se me ha pedido que cree un informe de capacidad para mostrar si un empleado se ha comprometido a más proyectos-tareas de los que tienen disponibles en un mes. La dirección ha determinado que cada empleado tiene aproximadamente 174 horas de capacidad al mes.
Proyecto | Recursos | WorkCat | Mes Gato | Horas | Horas de demanda | Horario de capacidad |
Proyecto A | PM | Proyecto | Julio 2020 Demanda | 40 | 40 | 0 |
Proyecto A | PM | Proyecto | Julio 2020 Compromiso | 40 | 0 | 0 |
Proyecto A | PM | Proyecto | Brecha de julio 2020 | 0 | 0 | 0 |
Proyecto A | PM | Proyecto | Julio 2020 Gorra | 174 | 0 | 174 |
Proyecto A | PM | Admin | Julio 2020 Demanda | 20 | 20 | 0 |
Proyecto A | PM | Admin | Julio 2020 Compromiso | 20 | 0 | 0 |
Proyecto A | PM | Admin | Brecha de julio 2020 | 0 | 0 | 0 |
Proyecto A | PM | Admin | Julio 2020 Gorra | 174 | 0 | 174 |
Proyecto A | PM | No-Proyecto | Julio 2020 Demanda | 30 | 30 | 0 |
Proyecto A | PM | No-Proyecto | Julio 2020 Compromiso | 30 | 0 | 0 |
Proyecto A | PM | No-Proyecto | Brecha de julio 2020 | 0 | 0 | 0 |
Proyecto A | PM | No-Proyecto | Julio 2020 Gorra | 174 | 0 | 174 |
El resultado final que estoy buscando debería tener este aspecto:
Recurso A | Jul-20 |
Capacidad (Horas de capacidad) | 174 |
Proyecto (Horas de demanda) | 40 |
Administrador (Horas de demanda) | 20 |
No-Proyecto (Horas de Demanda) | 30 |
Disponible | 84 |
El problema que tengo es que Power BI usa la suma de Horas de capacidad, por lo que el valor llega a 522 en lugar de 174. Esto también afecta al resultado de las horas disponibles, donde las horas disponibles - Calcular(SumX([Horas de capacidad]-[Horas de demanda])).
Hola @ixdutt ,
Usted podría probar debajo del código M
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WCijKz0pNLlFwVNJRCvAFERABIMurNEfByMDIQMElNTcxLwUoYmIAIwyUYnWI0+ycn5ubWYLQR4pe98QCuB6S7ATrMzQ3geoEsbDqdUzJzczD6lUjAxiBw1oMrXCPGhFwMIZOoryJaR+xnvTLz9PFF6vGBjACh9U4DIB72JiA03HoJ8rbuOzG5vlYAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Project = _t, Resource = _t, WorkCat = _t, #"Month Cat" = _t, Hours = _t, #"Demand Hours" = _t, #"Capacity Hours" = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Project", type text}, {"Resource", type text}, {"WorkCat", type text}, {"Month Cat", type text}, {"Hours", Int64.Type}, {"Demand Hours", Int64.Type}, {"Capacity Hours", Int64.Type}}),
#"Grouped Rows" = Table.Group(#"Changed Type", {"Project", "Month Cat"}, {{"avg", each List.Average([Hours]), type number}}),
#"Filtered Rows" = Table.SelectRows(#"Grouped Rows", each ([Month Cat] = "Jul 2020 Cap")),
#"Renamed Columns" = Table.RenameColumns(#"Filtered Rows",{{"avg", "Demand Hours"}}),
#"Added Custom" = Table.AddColumn(#"Renamed Columns", "WorkCat", each "Cap"),
#"Appended Query" = Table.Combine({#"Added Custom", #"Changed Type"})
in
#"Appended Query"
Saludos
Zoe Zhi
Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola Zoe,
Gracias por su ayuda en este problema, sin embargo, no estoy familiarizado con el lenguaje de programación que está utilizando y tendrá problemas para explicarlo a otros. ¿Hay alguna manera de lograr lo mismo con las funciones DAX?
Neel D
Hola @ixdutt ,
Puede crear una columna calculada (porque tiene una fila "Cap" que debe mostrarse en la tabla) y, a continuación, utilizar measure para lograr este objetivo. Podrías consultar mi muestra para más detalles.
Saludos
Zoe Zhi
Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.