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

Don't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.

Reply
Syndicate_Admin
Administrator
Administrator

Visualice la demanda de ETC a lo largo de los meses derivados de la fecha de inicio/finalización

Hola

Tengo un pbix donde actualmente solo tengo una fuente de datos para una plantilla de Excel de cálculo de costos. Queremos mantener la complejidad en Excel lo más baja posible y trasladar los cálculos necesarios a Power BI Desktop.

Necesito crear un gráfico en el que pueda ver qué rol y/o equipo tiene qué demanda de FTE (en suma) por mes, derivada de la fecha de inicio y finalización por fila de Excel.

Las columnas que tengo son básicamente:

ActividadRolEquipoTotal de horasFecha de inicioFecha finalNúmero de mesesFTE
Preparar pruebasGerente de pruebasEquipo Azul16001.01.2531.01.2511.0
Realizar pruebasGerente de pruebasEquipo Amarillo16001.01.2528.02.2520.5

Me gustaría crear una cinta o un gráfico que muestre la suma de FTE y Team necesarios en una escala mensual (eje X) y la demanda de FTE en el eje Y.

¿Cómo puedo lograr esto, ya que no tengo los valores por mes en Excel?

¡Saludos cordiales y gracias por cualquier ayuda de antemano!

1 ACCEPTED SOLUTION

Hola @v-xingshen-msft

Muchas gracias por su aporte a la solución. Me di cuenta de que los datos de muestra proporcionados no eran suficientes, porque en realidad tengo cientos de actividades y a menudo comienzan o terminan en un mes. Para tablas de matrices, etc., esto no es un problema, pero necesitaba un gráfico de áreas apiladas que visualizara el FTE. Así que pasé mucho tiempo experimentando y aprendiendo, basándome en su propuesta y ahora tengo una medida de trabajo, que hace el trabajo para mi caso, pero podría no ser digamos lo que haría un analista de datos profesional.

Además, creé una columna calculada en mi tabla de hechos, llamada EOM de fecha de finalización, que contiene la función EOMONTH. Entonces, si una actividad termina dentro de un mes, se visualizará en función de esto. Sé que no es preciso en términos de valores, pero como se ha dicho, lo suficientemente preciso para la visualización.

La medida es:

Measure = 
VAR CurrentDate = SELECTEDVALUE('Date Table'[Date], MIN('Date Table'[Date]))
VAR SelectedDate = SELECTEDVALUE('Date Table'[Date], MAX('Date Table'[Date]))
VAR StartMonth = DAY(MIN('Table'[Start Date]))
VAR EndMonth = DAY(MAX('Table'[End Date]))
VAR MonthSpan = ROUND(DATEDIFF(EndMonth, StartMonth, MONTH), 3)
RETURN
IF(
   CurrentDate >= MIN('Table'[Start Date]) && SelectedDate <= MAX('Table'[End Date EOM]),
   DIVIDE(SUM('Table'[FTE]),MonthSpan*-1),
   0
)

Gracias de nuevo por ayudarme a encontrar una solución. Muy apreciado.

View solution in original post

8 REPLIES 8
Syndicate_Admin
Administrator
Administrator

Hola @v-xingshen-msft

En primer lugar gracias por su apoyo, ¡muy apreciado! Para mi caso de uso, creo que queda un problema (basado en su archivo pbix y mi archivo pbix):

Si un rol tiene una participación (duración) para, por ejemplo, 01.01.25 - 31.12.25, (en mi rol de captura de pantalla Project Manager) el gráfico no mostrará el FTE necesario por rol hasta el mes/fecha actual (hoy) (que es 2024, pero la actividad tiene lugar en 2025).

2024-09-19_23-54-42.png

Así que supongo que hay algo en den DAX Measure que está causando este problema:

La fecha actual (= hoy)no es relevante para mi visual, pero la medida de alguna manera se muestra desde el mes / año actual y no desde el año planificado (fechas de inicio y finalización).

Si pudieras arreglar eso, entonces creo que tu solución sería perfecta.

Syndicate_Admin
Administrator
Administrator

Hola @v-xingshen-msft Muchas gracias por su ayuda, soporte y el archivo de muestra. He implementado su solución en mi pbix con éxito, no podría tener éxito sin su ayuda. Lo único que tuve que averiguar fue que querías crear una tabla calculada, así que incluso aprendí más. ¡Gracias!

Syndicate_Admin
Administrator
Administrator

¡Muchas gracias @v-xingshen-msft ! Esto es exactamente lo que estaba buscando, muchas gracias por su ayuda, ejemplo y apoyo. Lo único que me cuesta es dónde entrar en la forula

Data Table = CALENDAR(MIN('Table'[Start Date]),MAX('Table'[End Date])) 

al crear esta tabla de datos. Lo veo en tu ejemplo pero no sé dónde introducirlo en mi pbix. ¿Tienes algún consejo para mí?

Syndicate_Admin
Administrator
Administrator

Hola @synaptical ,

Dado que no tiene una columna de período, podemos crear una columna de fecha creando una nueva tabla ficticia en Power BI y colocando esta columna de fecha en el eje x del gráfico de barras.

Data Table = CALENDAR(MIN('Table'[Start Date]),MAX('Table'[End Date])) 

vxingshenmsft_0-1726723564316.png

Measure = 
VAR CurrentDate = SELECTEDVALUE('Data Table'[Date], MIN('Data Table'[Date]))
VAR SelectedDate = SELECTEDVALUE('Data Table'[Date], MAX('Data Table'[Date]))
VAR StartMonth = MONTH(MAX('Table'[Start Date]))
VAR EndMonth = MONTH(MAX('Table'[End Date]))
VAR MonthSpan = (EndMonth - StartMonth) + 1
RETURN
IF(
   CurrentDate >= MAX('Table'[Start Date]) && SelectedDate <= MAX('Table'[End Date]),
   DIVIDE(SUM('Table'[FTE]),MonthSpan),
   0
)

En este lugar traté de incluir un filtro que te facilite filtrar las fechas que deseas, para averiguar la necesidad de FTE en diferentes marcas de tiempo.

vxingshenmsft_1-1726723644160.png

Espero que los pensamientos anteriores puedan resolver sus preguntas, si tiene más preguntas, puede contactarme en cualquier momento, ¡me pondré en contacto con usted tan pronto como reciba el mensaje!

¡Espero que te ayude!

Saludos
Apoyo de la comunidad Team_ Tom Shen

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

Hola @v-xingshen-msft

Muchas gracias por su aporte a la solución. Me di cuenta de que los datos de muestra proporcionados no eran suficientes, porque en realidad tengo cientos de actividades y a menudo comienzan o terminan en un mes. Para tablas de matrices, etc., esto no es un problema, pero necesitaba un gráfico de áreas apiladas que visualizara el FTE. Así que pasé mucho tiempo experimentando y aprendiendo, basándome en su propuesta y ahora tengo una medida de trabajo, que hace el trabajo para mi caso, pero podría no ser digamos lo que haría un analista de datos profesional.

Además, creé una columna calculada en mi tabla de hechos, llamada EOM de fecha de finalización, que contiene la función EOMONTH. Entonces, si una actividad termina dentro de un mes, se visualizará en función de esto. Sé que no es preciso en términos de valores, pero como se ha dicho, lo suficientemente preciso para la visualización.

La medida es:

Measure = 
VAR CurrentDate = SELECTEDVALUE('Date Table'[Date], MIN('Date Table'[Date]))
VAR SelectedDate = SELECTEDVALUE('Date Table'[Date], MAX('Date Table'[Date]))
VAR StartMonth = DAY(MIN('Table'[Start Date]))
VAR EndMonth = DAY(MAX('Table'[End Date]))
VAR MonthSpan = ROUND(DATEDIFF(EndMonth, StartMonth, MONTH), 3)
RETURN
IF(
   CurrentDate >= MIN('Table'[Start Date]) && SelectedDate <= MAX('Table'[End Date EOM]),
   DIVIDE(SUM('Table'[FTE]),MonthSpan*-1),
   0
)

Gracias de nuevo por ayudarme a encontrar una solución. Muy apreciado.

Hola @v-xingshen-msft

Me alegró mucho su enfoque de solución rápida, ¡muchas gracias! Realmente me enseñó mucho sobre Power BI. Lo apliqué y al principio parecía que el problema estaba resuelto. Pero luego me di cuenta de que el cálculo del ETC (su medida) difiere mucho del mío y veo la causa en parte en los datos de muestra que proporcioné inicialmente: probablemente no eran lo suficientemente significativos como para resolver mi problema. Perdón por eso.

synaptical_0-1727305550648.png

He estado probando todo tipo de cosas yo mismo durante días, pero al final me quedo atascado:

  • Creé la tabla de fechas - éxito
  • Creé el éxito parcial visual: los valores de Measure MAX/MIN que sugirió no parecen ser adecuados para mi problema, por lo que establecí IF CurrentDate de MAX a MIN
    IF(CurrentDate >= MIN(...)
  • Ahora, el gráfico de barras básicamente no se ve demasiado bien:
    - Ejemplos: las demandas de FTE se muestran 0.21 pero son 2.1
    - La vista general no es correcta, las actividades con una cantidad constante de FTE desde el principio hasta el final no se muestran/muestran correctamente en la imagen
    synaptical_2-1727306814635.png

Creo que el principal problema que queda es que la fórmula de medición no distribuye mis segmentos de FTE (por actividad) proporcionalmente a lo largo de los meses afectados (fecha de inicio y finalización) y calcula la demanda de FTE, que ya está disponible granularmente por actividad, de manera diferente.

Si una actividad comienza a mediados de un mes y termina a mediados de otro mes, la demanda de ETC actualmente solo se muestra en el primero de los meses afectados.

Necesito el cálculo y la visualización independientes de la fecha actual, enfocados y distribuidos proporcionalmente en las fechas de inicio y finalización planificadas. Si, por ejemplo, no se realizan actividades en un mes, la visualización también debe mostrarlo en consecuencia.

Cualquier ayuda es muy apreciada.

Datos de muestra adicionales (no se pueden cargar archivos .pbix):

ActividadRolTotal de horasFecha de inicioFecha finalNúmero de mesesFracción FTE
Esta es la actividad 1Diseñador8001.07.202531.07.202510.500
Esta es la actividad 2Diseñador16001.07.202531.07.202511.000
Esta es la actividad 3Gerente de pruebas8001.07.202531.07.202510.500
Esta es la actividad 4Diseñador001.07.202531.07.202510.000
Esta es la actividad 5Arquitecto6001.07.202531.07.202510.375
Esta es la actividad 6Arquitecto001.08.202529.08.202510.000
Esta es la actividad 7Ingeniero001.08.202529.08.202510.000
Esta es la actividad 8Ingeniero001.08.202529.08.202510.000
Esta es la actividad 9Arquitecto001.08.202529.08.202510.000
Esta es la actividad 10Arquitecto001.08.202529.08.202510.000
Esta es la actividad 11Ingeniero4001.09.202530.11.202530.083
Esta es la actividad 12Gerente de pruebas20015.09.202530.11.202530.417
Esta es la actividad 13Arquitecto10001.09.202530.11.202530.208
Esta es la actividad 14Diseñador18001.09.202530.09.202530.375
Esta es la actividad 15Diseñador001.09.202530.11.202530.000
Esta es la actividad 16Diseñador24001.09.202530.11.202530.500
Esta es la actividad 17Gerente de pruebas70001.09.202530.11.202531.458
Esta es la actividad 18Arquitecto801.09.202530.11.202530.017
Esta es la actividad 19Ingeniero001.09.202530.11.202530.000
Esta es la actividad 20Arquitecto001.11.202531.12.202520.000
Esta es la actividad 21Ingeniero001.11.202531.12.202520.000
Esta es la actividad 22Ingeniero001.01.202431.12.2025240.000

Hola @v-xingshen-msft

Muchas gracias por su ayuda. Seguí sus pasos e intenté que funcionara en muchos casos, pero no tuve éxito. También le proporcioné datos de muestra insuficientes. En mi caso, tengo cientos de filas en Excel y calculo el FTE necesario como una fracción por cada fila.

ActividadRolTotal de horasFecha de inicioFecha finalNúmero de mesesFracción FTE
Esta es la actividad 1Diseñador8001.07.202531.07.202510.500
Esta es la actividad 2Diseñador16001.07.202531.07.202511.000
Esta es la actividad 3Gerente de pruebas8001.07.202531.07.202510.500
Esta es la actividad 4Diseñador001.07.202531.07.202510.000
Esta es la actividad 5Arquitecto6001.07.202531.07.202510.375
Esta es la actividad 6Arquitecto001.08.202529.08.202510.000
Esta es la actividad 7Ingeniero001.08.202529.08.202510.000
Esta es la actividad 8Ingeniero001.08.202529.08.202510.000
Esta es la actividad 9Arquitecto001.08.202529.08.202510.000
Esta es la actividad 10Arquitecto001.08.202529.08.202510.000
Esta es la actividad 11Ingeniero4001.09.202530.11.202530.083
Esta es la actividad 12Gerente de pruebas20015.09.202530.11.202530.417
Esta es la actividad 13Arquitecto10001.09.202530.11.202530.208
Esta es la actividad 14Diseñador18001.09.202530.09.202530.375
Esta es la actividad 15Diseñador001.09.202530.11.202530.000
Esta es la actividad 16Diseñador24001.09.202530.11.202530.500
Esta es la actividad 17Gerente de pruebas70001.09.202530.11.202531.458
Esta es la actividad 18Arquitecto801.09.202530.11.202530.017
Esta es la actividad 19Ingeniero001.09.202530.11.202530.000
Esta es la actividad 20Arquitecto001.11.202531.12.202520.000
Esta es la actividad 21Ingeniero001.11.202531.12.202520.000

Mi objetivo es que al final tenga un gráfico de áreas apiladas, en el que vea a lo largo de la línea de tiempo cuántas personas necesitaré. Solo lo gestiono para mostrar el total, y no los valores por mes. Además, a veces las actividades comienzan a mediados de mes o terminan no solo al final de un mes. Por lo tanto, esto debe reflejarse en lo visual.

synaptical_0-1727271263054.png

Probé muchas cosas y aprendí a hacer que esto funcionara (no tengo mucha experiencia) y al final me confundí mucho con la configuración de MIN / MAX. Tengo un archivo de muestra pbix pero no puedo cargarlo.

La medida problemática tiene actualmente el siguiente aspecto:

Medir Necesidad de FTE por mes =
VAR Fecha actual = SELECTEDVALUE('Tabla de datos'[Fecha],MIN('Tabla de datos'[Fecha]))
VAR SelectedDate = SELECTEDVALUE('Tabla de datos'[Fecha], MÁXIMO('Tabla de datos'[Fecha]))
VAR Fecha de inicio = MES(MÁXIMO('Tabla de hechos'[Fecha de inicio]))
VAR Fecha de finalización = MES(MÁXIMO('Tabla de hechos'[Fecha de finalización]))
VAR MonthSpan = REDONDO(DATEDIFF(Fecha de finalización, Fecha de inicio, MES), 3)
DEVOLUCIÓN
SI(
Fecha actual >= MÁXIMO('Tabla de hechos'[Fecha de inicio]) && SelectedDate <= MÁXIMO('Tabla de hechos'[Fecha de finalización]),
DIVIDIR(SUMA('Tabla de hechos'[Fracción FTE]),MonthSpan*-1),
REDONDO('Tabla de hechos'[Medir SUMA FTE], 3)
)

¿Puedo pedirte ayuda de nuevo?

Hola @v-xingshen-msft

Muchas gracias por su apoyo, ejemplo y solución. Lo apliqué a mi pbix y me queda un problema en el que amablemente les pido amablemente su apoyo nuevamente:

En mi pbix, uso la carpeta de importación para varios archivos de Excel, todos en la misma estructura, por supuesto. El problema es el siguiente:

En un Excel tengo una fecha de inicio y finalización que es la misma para todas las actividades, 01.01.2025-31.12.2025. En ese caso, el gráfico se ve así:

2024-09-20_14-48-58.png

En otro Excel que está en la carpeta, la línea de tiempo es diferente: comienza el 01.01.2025 y termina a mediados de julio de 2025. Al filtrar solo estos datos, el gráfico se muestra incorrectamente:

2024-09-20_14-44-30.png

Por lo tanto, parece que la medida del DAX no está teniendo en cuenta de alguna manera, que si la fecha de inicio/finalización de estos valores no es 01.01.25-31.12.25.

Mi objetivo es que tengamos una visión completa de la cantidad de ETC que necesitamos, no lineal durante el período de inicio/fin más largo, sino cada mes.

¿Puede ayudarme a resolver esto? ¡Muchas gracias por su trabajo y apoyo!

Helpful resources

Announcements
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!

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.

Top Solution Authors
Top Kudoed Authors