cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Syndicate_Admin
Administrator
Administrator

Turno que entra en el día siguiente

Necesito dividir los días en mis datos por turnos, lo que pude hacer. El problema es que el turno de la mañana va de 5 AM a 5 PM, y el turno de noche va de 5 PM a 5 AM. Power Bi está agrupando la parte del turno de noche que entra en el día siguiente como los datos del día siguiente. Esta es la fórmula que estoy tratando de ponerme a trabajar, aunque no estoy seguro de si voy en la dirección correcta:

Mayús2 = Si(Tiempo de inactividad[Tiempo] >= HORA(5,0,0) && Tiempo de inactividad[Tiempo] <= HORA(17,0,0), "1er Turno", Si(Tiempo de inactividad[Tiempo] >= HORA(17,0,0) && Tiempo de inactividad[Tiempo]<= HORA(23,59,0), "2º Turno", Si(Tiempo de inactividad[Tiempo] >= HORA(0,0,0) && Tiempo de inactividad[Tiempo] <= HORA(4,59,00), "2º Turno"; (DownTime[solo fecha]-1;DownTime[solo fecha])
El error se muestra a continuación en el ";" ------
villasenorbritt_0-1659717063159.png

Aquí hay algunos datos de muestra:

fechassoloHoraproducción
8/5/202213:305
8/5/202215:005
8/5/202221:0010
8/6/20222:006
8/6/20223:008
Por ejemplo, (este es el tiempo militar), las dos últimas entradas deben incluirse técnicamente para el 2º turno el 5 de agosto, pero almacenará los datos como el 6 de agosto. ¿Puede alguien echar un vistazo a la fórmula que publiqué anteriormente y ver dónde está el error y cómo puedo solucionarlo? Tengo la sensación de que es algo tonto y he estado trabajando en esto durante más tiempo del que me gustaría admitir. ¡Gracias!
1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Aunque el método anterior era factible, encontré una solución más fácil. Simplemente hice una nueva columna personalizada con la siguiente fórmula:

correctShiftDate = if DateTime.Time([startdate]) <= #time(5,00,0) then Date.AddDays(DateTime.Date([startdate]), -1) else DateTime.Date([startdate]))

El siguiente resultado es:

villasenorbritt_0-1660050977494.png

Como puede ver, la fórmula toma los turnos que ocurren en cualquier lugar entre las 12 AM y las 5 AM y lo cuenta como el día anterior para identificar correctamente la producción y el tiempo de inactividad de acuerdo con el turno y la fecha.

View solution in original post

1 REPLY 1
Syndicate_Admin
Administrator
Administrator

Aunque el método anterior era factible, encontré una solución más fácil. Simplemente hice una nueva columna personalizada con la siguiente fórmula:

correctShiftDate = if DateTime.Time([startdate]) <= #time(5,00,0) then Date.AddDays(DateTime.Date([startdate]), -1) else DateTime.Date([startdate]))

El siguiente resultado es:

villasenorbritt_0-1660050977494.png

Como puede ver, la fórmula toma los turnos que ocurren en cualquier lugar entre las 12 AM y las 5 AM y lo cuenta como el día anterior para identificar correctamente la producción y el tiempo de inactividad de acuerdo con el turno y la fecha.

Helpful resources

Announcements
September Update

Check it Out!

Click here to learn more about the September 2022 updates!

Power BI Show episode 9

The Power BI Community Show

Watch the playback when Priya Sathy and Charles Webb discuss Datamarts! Kelly also shares Power BI Community updates.

Power BI Dev Camp Session 25

Ted's Dev Camp - August 25, 2022

Watch Session 25 of Ted's Dev Camp.

Top Solution Authors