Anónimo
Hola
Tengo tres mesas. Uno básico con empleados, también conocido como
Empleado |
aileen |
Tomás |
Bárbara |
Otro con sus horas de trabajo por día (son posibles múltiples entradas por día)
Empleado | Fecha | Horas Laborales |
aileen | 2019/01/05 | 5 |
aileen | 2019/01/05 | 3 |
aileen | 2019/01/06 | 8 |
aileen | 2019/01/08 | 6 |
Tomás | 2019/01/05 | 1 |
Tomás | 2019/01/06 | 2 |
Tomás | 2019/01/08 | 3 |
Bárbara | 2019/01/05 | 3 |
Bárbara | 2019/01/06 | 8 |
Bárbara | 2019/01/08 | 6 |
Y una tercera con un periodo de trabajo (desde..hasta). Esta tabla no está relacionada con las demás.
Período | Desde | A |
Período 01 | 2019/01/01 | 2019/01/06 |
Período 02 | 2019/01/07 | 2019/01/13 |
Período 03 | 2019/01/14 | 2019/01/20 |
Quiero agregar una medida a la tercera que incluye la SUMA de horas de trabajo de los empleados en cada período. En un menú desplegable luego puse los empleados. Si no se selecciona ningún empleado, quiero ver la SUMA de todas las horas de trabajo. Si solo se selecciona uno/algunos, quiero ver solo las horas de trabajo de los empleados seleccionados.
Espero que puedas ayudarme
Gracias zemi
mfelix
Hola @Anónimo,
Cree la siguiente medida:
Hours = CALCULATE ( SUM ( WorkingHours[working hours] ); FILTER ( ALL ( WorkingHours[Date] ); WorkingHours[Date] >= SELECTEDVALUE ( Periods[From] ) && WorkingHours[Date] <= SELECTEDVALUE ( Periods[To] ) ) )
Saludos,
mfelix
tommartens
En respuesta a mfelix
Hola @Anónimo,
esta es una solución ligeramente diferente a la proporcionada por @MFelix.
Tenga en cuenta que mi solución también requiere una tabla de calendario (aunque no tiene que estar relacionada con una de las tablas).
Crea esta medida:
Working Hours = SUMX( VALUES(Period) ,CALCULATE( SUM(Working[working hours]), TREATAS(DATESBETWEEN('Calendar'[Date],'Period'[From],'Period'[To]),Working[Date]) ) )
Saludos,
Tomás
mfelix
Hola @Anónimo,
Cree la siguiente medida:
Hours = CALCULATE ( SUM ( WorkingHours[working hours] ); FILTER ( ALL ( WorkingHours[Date] ); WorkingHours[Date] >= SELECTEDVALUE ( Periods[From] ) && WorkingHours[Date] <= SELECTEDVALUE ( Periods[To] ) ) )
Saludos,
mfelix
Anónimo
En respuesta a mfelix
Hola @mfelix
Funciona bien. Gracias.
Si coloco la medida en una tabla, no obtengo la suma de todas las filas. ¿Por qué?
Saludos, zemi
tommartens
En respuesta a mfelix
Hola @Anónimo,
esta es una solución ligeramente diferente a la proporcionada por @MFelix.
Tenga en cuenta que mi solución también requiere una tabla de calendario (aunque no tiene que estar relacionada con una de las tablas).
Crea esta medida:
Working Hours = SUMX( VALUES(Period) ,CALCULATE( SUM(Working[working hours]), TREATAS(DATESBETWEEN('Calendar'[Date],'Period'[From],'Period'[To]),Working[Date]) ) )
Saludos,
Tomás
Anónimo
En respuesta a tommartens
¡Gracias @TomMartens!
Grüsse nach Hamburgo