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

Get Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Request 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
Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

October Power BI Update Carousel

Power BI Monthly Update - October 2025

Check out the October 2025 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.