Microsoft is giving away 50,000 FREE Microsoft Certification exam vouchers. Get Fabric certified for FREE! Learn more
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
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
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
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
)
Check out the April 2025 Power BI update to learn about new features.
Explore and share Fabric Notebooks to boost Power BI insights in the new community notebooks gallery.