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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Quamie
Frequent Visitor

Promedio de personal durante un período determinado

Hola a todos,

Soy nuevo en Power BI y DAX y esperaba obtener alguna dirección al respecto. Hice algunas búsquedas, pero no pude encontrar ninguna solución.

El objetivo es poder calcular el recuento medio de personal durante un período determinado (mes, semana, año, etc.). Aquí están los datos sin procesar con los que estoy empezando, realiza un seguimiento de los cambios en los registros de un empleado. Como puede ver, la fecha de terminación se une en todas las filas de un registro.

Identificación del registro de empleo Fecha de entrada en vigor Fecha de terminación
a0N0Y00000AlUIP8/13/20188/17/2018
a0N0Y00000AQMfY8/3/20156/30/2016
a0N0Y00000AQMhr9/1/20165/2/2019
a0N0Y00000AQMhr6/1/20175/2/2019
a0N0Y00000AQMhr6/15/20175/2/2019
a0N0Y00000AQMhr6/1/20185/2/2019
a0N0Y00000AQMhz11/1/20166/2/2017
a0N0Y00000AQMi35/15/20175/30/2019
a0N0Y00000AQMi36/19/20175/30/2019
a0N0Y00000AQMi36/1/20185/30/2019
a0N0Y00000AQMiC10/23/201711/2/2018
a0N0Y00000AQMiF12/4/2017
a0N0Y00000AQMiF6/1/2018
a0N0Y00000AQMyT8/6/2018
a0N0Y00000AQMyT8/24/2018
a0N0Y00000AQMyT3/1/2019
a0N0Y00000AQMyT10/1/2019

Para facilitar mi objetivo, he agrupado las filas por identificador, creado una columna de índice y lo he usado para crear una fecha de finalización para cada fila. Aquí está el aspecto de los datos ahora:

Identificación del registro de empleo Group.Effective Date Fecha de finalización
a0N0Y00000AlUIP8/13/20188/17/2018
a0N0Y00000AQMfY8/3/20156/30/2016
a0N0Y00000AQMhr9/1/20165/31/2017
a0N0Y00000AQMhr6/1/20176/14/2017
a0N0Y00000AQMhr6/15/20175/31/2018
a0N0Y00000AQMhr6/1/20185/2/2019
a0N0Y00000AQMhz11/1/20166/2/2017
a0N0Y00000AQMi35/15/20176/18/2017
a0N0Y00000AQMi36/19/20175/31/2018
a0N0Y00000AQMi36/1/20185/30/2019
a0N0Y00000AQMiC10/23/201711/2/2018
a0N0Y00000AQMiF12/4/20175/31/2018
a0N0Y00000AQMiF6/1/201810/20/2020
a0N0Y00000AQMyT8/6/20188/23/2018
a0N0Y00000AQMyT8/24/20182/28/2019
a0N0Y00000AQMyT3/1/20199/30/2019
a0N0Y00000AQMyT10/1/201910/20/2020

También he creado una tabla de fechas con los períodos necesarios que se limita dinámicamente a los intervalos de fechas que quiero disponibles.

Pude encontrar y manipular una sugerencia que me da con precisión el número total de empleados en cualquier período;

Total Headcount = 
CALCULATE( COUNTROWS( DISTINCT(JobHistoryReport[Employment Record ID]) ),
    FILTER( VALUES( JobHistoryReport[Group.Effective Date] ), JobHistoryReport[Group.Effective Date] <= MAX( 'Date'[Date] ) ),
    FILTER( VALUES( JobHistoryReport[End Date] ), OR( JobHistoryReport[End Date] >=MIN( 'Date'[Date] ), ISBLANK( JobHistoryReport[End Date] ) ) ) ) 

Sin embargo, he sido induceso en la elaboración / búsqueda de una fórmula que me daría el número promedio de empleados para cualquier período (uso de sumx tal vez?). Aquí está un ejemplo de salida deseada;

Identificación del registro de empleo Group.Effective Date Fecha de finalización
a0N0Y00000AQMhr6/1/20176/14/2017
a0N0Y00000AQMi35/15/20176/18/2017

Dado sólo las dos filas anteriores, mi número promedio de empleados para junio de 2017 sería;

Período Promedio de recuento de cabezas
Junio de 20171.07

14 (desde la fila 1) + 18 (desde la fila 2) / 30 (días en el período) a 1,07 Promedio de personal.

Cualquier ayuda sería apreciada, gracias a todos!

1 ACCEPTED SOLUTION

Hola Pablo,

¡Agradezco la respuesta!

Si bien he encontrado -una- solución a este problema, no me importaría una mejor. 🙂 Esta solución es "imperfecta" porque se basa en la creación de lo que es potencialmente millones de filas de registro. Sin embargo, proporciona cálculos precisos y fáciles de administrar.

Para veranivar el problema:

Tengo un conjunto de datos que incluye estos campos relevantes: Fecha de inicio, Fecha de finalización e ID

Quamie_0-1603857696683.png

Estoy tratando de contar el número promedio de empleados durante un período determinado. Mis resultados podrían parecer;

Quamie_2-1603858172384.png

La forma correcta de calcular esto sería el forumula a continuación:

Número de días que cada registro estuvo activo en un período / Número de días en el período


Aquí hay un ejemplo: Dada sólo la tabla siguiente, Si quisiera calcular el número promedio de empleados en junio de 2018, obtendría 2.3

Quamie_1-1603858030701.png

12+16+12+23+5 á 68

68/29 x 2,3

Donde 29 es el número de días en el mes de junio de 2018.

------------------------------

Aquí está mi solución imperfecta actual:

- Crear filas únicas para cada fecha en que un registro está activo y expandir la tabla.

Quamie_3-1603858475554.png

- Crear una relación activa entre esta tabla y una tabla de fechas

Quamie_4-1603858706536.png

A partir de aquí, es una medida simple para crear una tabla que calcula su número promedio de empleados:

Quamie_5-1603858915571.png

Average Headcount = COUNTROWS(Query2) / COUNTROWS('Date')

Sólo en última instancia, me preocupo por el número de filas que esto crea. No tengo mucha experiencia con la plataforma, así que no estoy seguro de si va a ser capaz de manejar un número como 10 millones de filas, puede que tenga que limitar mis rangos de fechas a 2-3 años para compensar

Gracias por el tiempo de todos. 🙂

View solution in original post

3 REPLIES 3
V-pazhen-msft
Community Support
Community Support

@Quamie

Es difícil para nosotros seguir su publicación con esa información que nos arroja en parte. Puede poner esas muestras en un pbix y publicar una pregunta con el archivo pbix de ejemplo.

saludos
Paul

Hola Pablo,

¡Agradezco la respuesta!

Si bien he encontrado -una- solución a este problema, no me importaría una mejor. 🙂 Esta solución es "imperfecta" porque se basa en la creación de lo que es potencialmente millones de filas de registro. Sin embargo, proporciona cálculos precisos y fáciles de administrar.

Para veranivar el problema:

Tengo un conjunto de datos que incluye estos campos relevantes: Fecha de inicio, Fecha de finalización e ID

Quamie_0-1603857696683.png

Estoy tratando de contar el número promedio de empleados durante un período determinado. Mis resultados podrían parecer;

Quamie_2-1603858172384.png

La forma correcta de calcular esto sería el forumula a continuación:

Número de días que cada registro estuvo activo en un período / Número de días en el período


Aquí hay un ejemplo: Dada sólo la tabla siguiente, Si quisiera calcular el número promedio de empleados en junio de 2018, obtendría 2.3

Quamie_1-1603858030701.png

12+16+12+23+5 á 68

68/29 x 2,3

Donde 29 es el número de días en el mes de junio de 2018.

------------------------------

Aquí está mi solución imperfecta actual:

- Crear filas únicas para cada fecha en que un registro está activo y expandir la tabla.

Quamie_3-1603858475554.png

- Crear una relación activa entre esta tabla y una tabla de fechas

Quamie_4-1603858706536.png

A partir de aquí, es una medida simple para crear una tabla que calcula su número promedio de empleados:

Quamie_5-1603858915571.png

Average Headcount = COUNTROWS(Query2) / COUNTROWS('Date')

Sólo en última instancia, me preocupo por el número de filas que esto crea. No tengo mucha experiencia con la plataforma, así que no estoy seguro de si va a ser capaz de manejar un número como 10 millones de filas, puede que tenga que limitar mis rangos de fechas a 2-3 años para compensar

Gracias por el tiempo de todos. 🙂

Quamie
Frequent Visitor

🙂 Golpe para cualquier ayuda.

Estaba probando algunos enfoques diferentes. Pude crear una medida adicional en la propia tabla que contaba con precisión el número de días en el período en que se selecciona un intervalo de fechas, sin embargo, el total de esa medida no es correcto. Puede llevarme a poder calcular el promedio de un período cuando se selecciona ese período.

Quamie_0-1603417378792.png

Por desgracia, eso no me produciría lo que en última instancia estoy buscando, que son tablas / gráficos desglosados por período (mes, año, semana, etc.) con el recuento promedio.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

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

Top Kudoed Authors