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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

Asignar las horas de turno de noche al día correcto

Hola

Tengo un problema para lidiar con las horas de turno de noche. Mi tabla de ejemplo tiene este aspecto:

Fecha y horaIniciarDatetimeFinishturno día laborableMastercalendarORDERID
13.06.2021 22:55:0113.06.2021 23:45:01Turno de nocheDomingo13.06.202112345
13.06.2021 23:00:0013.06.2021 23:45:01Turno de nocheDomingo13.06.202112346
14.06.2021 01:00:0014.06.2021 02:00:00Turno de nocheLunes14.06.202112347
14.06.2021 04:00:0014.06.2021 05:00:00Turno de nocheLunes14.06.202112348
14.06.2021 06:00:0014.06.2021 11:00:00Turno de díaLunes14.06.202112349
14.06.2021 11:00:0018.06.2021 13:00:00Turno de díaLunes14.06.202112350
15.06.2021 14:30:0015.06.2021 15:00:00Cambio tardíoMartes15.06.202112351
16.06.2021 15:00:0016.06.2021 17:00:00Cambio tardíoMiércoles16.06.202112352
17.06.2021 11:00:0017.06.2021 14:00:00Turno de díaJueves17.06.202112353

La columna shift se construye muy típicamente con la instrucción if:

Cuando la hora es de 6 a 14, "Dayshift", 14 a 22 "Lateshift", 22 a 06, "Nightshift".

Pero también hay otra condición, que no sé cómo resolver. Por ejemplo, el turno de noche de los lunes comienza en realidad el domingo a las 22 PM y dura hasta el lunes por la mañana a las 6 AM. Y esto es cierto para cada turno de noche siguiente, donde la hora de inicio es en realidad en la noche de la noche anterior. Así, por ejemplo, cuando quiero filtrar mis datos al lunes 14 de junio y quiero contar los pedidos o resumir el tiempo de duración de ese turno de noche, desafortunadamente me muestra el turno de noche del lunes 12:00:00 -6AM más los datos del mismo día lunes 22PM-24PM. Así que estos dos rangos de tiempo no están perteneciendo juntos, ya que las horas de 22PM-24PM de ese mismo día en realidad ya están perteneciendo al turno de noche del martes. Para el lunes, el turno de noche comienza el domingo 13 a las 22 PM hasta el lunes 14 a las 6:00 AM.

¿Cuál es la mejor práctica aquí? Aynone encontrar el mismo problema antes?

Muchas gracias de antemano.

mejor.

2 ACCEPTED SOLUTIONS
Syndicate_Admin
Administrator
Administrator

Hay @Applicable88 ,

Cree que para este caso necesitas crear una nueva columna con la fecha correcta, en este caso necesitas comprobar si la hora es superior a las 22 PM y si sí devuelves un día adicional:

if Time.Hour([DatetimeStart]) >= 22 then [Mastercalendar] + #duration(1,0,0,0)else [Mastercalendar]

MFelix_0-1623928268208.png

Ahora debe usar esta columna para realizar el filtrado. Puesto que no es el Editor de consultas, puede eliminar el otro colunm de su tabla

View solution in original post

Hola @MFelix , sí yo cam a la misma conclusión mientras que pienso vuestro bien, podría haber salvado el más pequeño de 24 desde entonces después de 24 su comienzo en cero otra vez:

if Time.Hour([StartTime])>=22 and Time.Hour([StartTime]) <= 24 then Date.AddDays([StartTime],1) else [StartTime]

Gracias.

mejor.

View solution in original post

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

Hay @Applicable88 ,

Cree que para este caso necesitas crear una nueva columna con la fecha correcta, en este caso necesitas comprobar si la hora es superior a las 22 PM y si sí devuelves un día adicional:

if Time.Hour([DatetimeStart]) >= 22 then [Mastercalendar] + #duration(1,0,0,0)else [Mastercalendar]

MFelix_0-1623928268208.png

Ahora debe usar esta columna para realizar el filtrado. Puesto que no es el Editor de consultas, puede eliminar el otro colunm de su tabla

Hola @MFelix , sí yo cam a la misma conclusión mientras que pienso vuestro bien, podría haber salvado el más pequeño de 24 desde entonces después de 24 su comienzo en cero otra vez:

if Time.Hour([StartTime])>=22 and Time.Hour([StartTime]) <= 24 then Date.AddDays([StartTime],1) else [StartTime]

Gracias.

mejor.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

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