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

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

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
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

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

Top Solution Authors