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

Microsoft is giving away 50,000 FREE Microsoft Certification exam vouchers. Get Fabric certified for FREE! Learn more

Reply
Syndicate_Admin
Administrator
Administrator

Medir el promedio de los patrones de trabajo cambiantes durante diferentes períodos de tiempo

Hola.

Traté de publicar esto ayer, pero no puedo verlo en ninguna parte, así que no estoy seguro de que haya funcionado. Disculpas si estoy duplicando.

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

Lo siento por el asunto del mensaje ligeramente inútil: es difícil resumir lo que estoy tratando de hacer.

He producido un informe que establece objetivos para la cantidad de tiempo que cada empleado debe pasar trabajando en un proyecto. El objetivo se establece por mes, en función del número de días laborables del mes y de la proporción de horas a tiempo completo que cada persona trabaja. Esto funcionaba bien hasta que una persona cambió sus horas a mitad de año. Para hacer esto, la persona se ha ingresado dos veces en la lista de detalles del personal, por lo que parece dos personas diferentes con el mismo nombre. Aquí hay un ejemplo, donde la Persona 1 y la Persona 5 han cambiado sus horas a mediados de abril y mayo, respectivamente, aquellos sin fechas de finalización todavía están empleados en las horas que se muestran:

Cuadro 1

Empezar

Fin

% de horas a tiempo completo

Persona 1

01/04/2021

24/04/2023

100%

Persona 2

01/04/2021

75%

Persona 3

01/04/2021

50%

Persona 4

01/04/2021

100%

Persona 5

01/04/2021

15/05/2023

100%

Persona 6

01/04/2021

100%

Persona 1

25/04/2023

50%

Persona 5

16/05/2023

75%

Así que la persona 1 estuvo trabajando a tiempo completo hasta el 24 de abril y luego a partir del 25 de abril redujeron sus horas al 50%. La persona 5 trabajaba a tiempo completo hasta el 15 de mayo y luego redujo sus horas al 75%.

La siguiente tabla calcula el % de horas a tiempo completo que se habría esperado que cada persona trabajara durante dos meses separados, abril y mayo. Hay una fila por persona por mes:

Cuadro 2

Inicio del período

Fin del período

Días en período

Porcentaje medio de horas a tiempo completo

Persona 1

01/04/2023

30/04/2023

30

90%

Persona 2

01/04/2023

30/04/2023

30

75%

Persona 3

01/04/2023

30/04/2023

30

50%

Persona 4

01/04/2023

30/04/2023

30

100%

Persona 5

01/04/2023

30/04/2023

30

100%

Persona 6

01/04/2023

30/04/2023

30

100%

Persona 1

01/05/2023

31/05/2023

31

50%

Persona 2

01/05/2023

31/05/2023

31

75%

Persona 3

01/05/2023

31/05/2023

31

50%

Persona 4

01/05/2023

31/05/2023

31

100%

Persona 5

01/05/2023

31/05/2023

31

87%

Persona 6

01/05/2023

31/05/2023

31

100%

En abril, la Persona 1 trabajó durante 24 de los 30 días como empleado a tiempo completo. Luego trabajaron los últimos 6 días a tiempo parcial (50%). En promedio, sus horas fueron ((100 * 24) + (50 * 6))/30 = 90%. Obviamente necesito tener en cuenta los fines de semana, etc., pero estoy ignorando eso para este ejemplo para hacer las cosas un poco más simples.

¿Cómo puedo obtener Power BI (con DAX) para calcular el valor de la columna final de la tabla 2? Sigo pensando que tengo la respuesta, ¡pero luego las cosas se desmoronan bastante rápido! Quiero una medida o una columna calculada, no importa cuál. Supongo que una columna calculada sería más simple......

Muchas gracias de antemano por su ayuda.

En

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

Esta es una solución realmente buena y me ayudó con un par de otras medidas con las que he estado luchando. Me tomó un poco de tiempo ordenar todas las relaciones, etc., para que funcione, pero parece haber hecho el trabajo.

¡Muchas gracias!


En

Syndicate_Admin
Administrator
Administrator

Gracias por esto. Puede que funcione, pero no puedo decirlo en este momento. ¿Cómo puedo evitar la relación de muchos a muchos entre las mesas? He intentado tener un intermediario (con nombres únicos), pero eso no parece ayudar.

En

Syndicate_Admin
Administrator
Administrator

Puede crear una medida como

Avg time worked = 
VAR TotalDaysInMonth = SUM( 'Date'[Is Working Day] )
RETURN
	SUMX(
		'Table',
		VAR StartDate = 'Table'[Start]
		VAR EndDate = 'Table'[End]
		VAR TotalWorked =
			CALCULATE(
				SUM( 'Date'[Is Working Day] ),
				KEEPFILTERS(
					DATESBETWEEN( 'Date'[Date], StartDate, EndDate )
				)
			)
				* 'Table'[% of full time hours]
		VAR Result = DIVIDE( TotalWorked, TotalDaysInMonth )
		RETURN
			Result
	)

Helpful resources

Announcements
PBIApril_Carousel

Power BI Monthly Update - April 2025

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

Notebook Gallery Carousel1

NEW! Community Notebooks Gallery

Explore and share Fabric Notebooks to boost Power BI insights in the new community notebooks gallery.

April2025 Carousel

Fabric Community Update - April 2025

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

Top Kudoed Authors