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

Get certified in Microsoft Fabric—for free! For a limited time, get a free DP-600 exam voucher to use by the end of 2024. Register now

Reply
Syndicate_Admin
Administrator
Administrator

Calcule la capacidad del equipo en función de los proyectos y las fechas de vencimiento

Hola a todos,

Estoy tratando de calcular la capacidad mensual restante de nuestro equipo después de tener en cuenta los proyectos asignados actualmente en función de las fechas de vencimiento. Debido a que no sé cuándo se usarán las horas del proyecto (solo sé que tiene que ser antes de la fecha de finalización), mi idea es tomar las horas restantes y distribuirlas uniformemente en los meses restantes (los meses restantes incluyen el mes actual y el mes de la fecha de finalización). Esto me permitirá ver cuánta capacidad nos queda para nuevos proyectos.

Mis datos originales se ven así:

proyectoasignado afecha de iniciofecha finalHoras del proyectoHoras de uso
Proyecto APersona BEne-23Dic-233015
Proyecto BPersona AAbr-23Mar-24205
Proyecto CPersona CSep-23Ago-245040
Proyecto DPersona AEne-23Dic-2310075
Proyecto EPersona BFeb-23Ene-24204



Estoy tratando de averiguar cómo terminar con algo como esto:

proyectoasignado ameshoras
Proyecto APersona BDic-2315
Proyecto BPersona ADic-233.75
Proyecto BPersona AEne-243.75
Proyecto BPersona AFeb-243.75
Proyecto BPersona AMar-243.75
Proyecto CPersona CDic-231.11
Proyecto CPersona CEne-241.11
Proyecto CPersona CFeb-241.11
Proyecto CPersona CMar-241.11
Proyecto CPersona CAbr-241.11
Proyecto CPersona CMayo-241.11
Proyecto CPersona CJun-241.11
Proyecto CPersona CJul-241.11
Proyecto CPersona CAgo-241.11
Proyecto DPersona ADic-2325
Proyecto EPersona BDic-238
Proyecto EPersona BEne-248



Para que pueda verlo visualmente así:

PBInewbie11_0-1702589049124.png

He podido calcular el número de meses que quedan hasta la fecha de finalización, y también el número de horas por mes (número de meses / horas restantes). Pero no puedo averiguar cómo asignarlo a esos meses y luego graficarlo por mes. También me encantaría poder hacer de esto un gráfico de barras apiladas con cada persona para poder ver cuánto del tiempo mensual se atribuye a cada persona. Cualquier ayuda proporcionada será muy apreciada, estoy perdido después de un par de semanas de tratar de resolverlo.

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

Hola

Este código M generará la tabla deseada

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WKijKz0pNLlFIVNJRKkgtKs7PU0gCMr0S83SNjIEMl9RkCMPYAEgYmirF6iA0JSE0gfQ7FhRB1PomAhkmQIYRSBOqnmSEHhAzOLUAosexNB2ixxSkx8QARVMKqkWYrjM0AOkyR7UqFdVPbqlJEMVg7XDnmSjFxgIA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [project = _t, #"assigned to" = _t, #"start date" = _t, #"end date" = _t, #"project hours" = _t, #"hours used" = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"project", type text}, {"assigned to", type text}, {"start date", type date}, {"end date", type date}, {"project hours", Int64.Type}, {"hours used", Int64.Type}}),
    #"Remaining hours" = Table.AddColumn(#"Changed Type", "Remaining hours", each [project hours] - [hours used], Int64.Type),
    #"Month Span" = Table.AddColumn(#"Remaining hours", "Month Span", each (12 * (Date.Year([end date])-Date.Year(DateTime.Date(DateTime.LocalNow()))))
+ (Date.Month([end date])-Date.Month(DateTime.Date(DateTime.LocalNow())))
+ (if Date.Day(DateTime.Date(DateTime.LocalNow())) > Date.Day([end date]) 
    then -1 
    else 0
  )
+ 2),
    #"Monthly hours" = Table.AddColumn(#"Month Span", "Monthly hours", each [Remaining hours] / [Month Span], type number),
    #"Added Custom" = Table.AddColumn(#"Monthly hours", "Month List", each List.Numbers(
  1,
  [Month Span]
)),
    #"Expanded Month List" = Table.ExpandListColumn(#"Added Custom", "Month List"),
    #"Generate date" = Table.AddColumn(#"Expanded Month List", "Date", each Date.StartOfMonth(Date.AddMonths(DateTime.Date(DateTime.LocalNow()),[Month List]-1)), type date),
    #"Removed Columns" = Table.RemoveColumns(#"Generate date",{"start date", "end date", "project hours", "hours used", "Remaining hours", "Month Span", "Month List"})
in
    #"Removed Columns"

Espero que esto ayude.

Ashish_Mathur_0-1702683599308.png

Syndicate_Admin
Administrator
Administrator

@PBInewbie11 , A mí me parece muy similar el problema de recursos humanos del empleado activo a la solución entre fechas

recomienda

Power BI: HR Analytics - Empleados a la fecha: https://youtu.be/e6Y-l_JtCq4
https://community.powerbi.com/t5/Community-Blog/HR-Analytics-Active-Employee-Hire-and-Termination-tr...
Power BI HR Active Employee Tenure Bucketing y empleados contratados, despedidos y activos: https://youtu.be/fvgcx8QLqZU

Entre fechas- Forma de medir
Medida de Power BI Dax: asignación de datos entre intervalo: https://youtu.be/O653vwLTUzM

Refiérase a los archivos adjuntos

Helpful resources

Announcements
November Carousel

Fabric Community Update - November 2024

Find out what's new and trending in the Fabric Community.

Live Sessions with Fabric DB

Be one of the first to start using Fabric Databases

Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.

Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early Bird pricing ends December 9th.

Nov PBI Update Carousel

Power BI Monthly Update - November 2024

Check out the November 2024 Power BI update to learn about new features.

Top Solution Authors
Top Kudoed Authors