Cortador de tiempo Shiftly y tasas de producción por hora

Un usuario Pregunto ✅

hbomba

Hola comunidad de Power BI,

¡Alerta de usuario de PB por primera vez! Chicos/Chicas, necesito ayuda con las segmentaciones de fecha y hora utilizadas en la creación del tablero. En realidad, ni siquiera estoy seguro de si esta es la mejor manera de consultar los datos.

Estoy trabajando con nuestro servidor SQL en el sitio que almacena datos del sistema de gestión de flotas para nuestros camiones y equipos de minería.

Para cada recorrido desde el cargador hasta el descarga, recibimos lo siguiente:

  • Hora de inicio del ciclo
  • Hora de finalización del ciclo
  • Carga útil
  • Etcétera etcétera

SampleData.PNG

Entonces, desde la información de tiempo de ciclo de inicio/fin, puedo usar fórmulas simples para ver las cargas útiles totales para cada unidad de carga y puedo dividir los datos por: año, mes, fecha. El problema es cuando necesito dividir datos por turnos.

Nuestros turnos funcionan de la siguiente manera (solo fechas de ejemplo):

  • 09/01/16 6:15:00 am a 09/01/16 6:15:00 pm = turno de día
  • 09/01/16 6:15:00 p. m. a 09/01/16 06:15:00 a. m. = turno de noche

El problema son las últimas 6 horas del turno de noche, por caer al día siguiente.

Usando una serie de fórmulas enrevesadas y desordenadas he llegado… a ninguna parte.

He leído en los foros de PB que al crear los siguientes datos en una tabla de fechas, ¿puedo vincularlos a los datos del ciclo de mi camión para dividirlos por rangos de turnos/fechas ajustados? La tabla de fechas crea un bloque por hora para cada día y me da 24 bloques que luego puedo usar fórmulas para modificar para crear los nombres de turno ajustados.

TablaDeFechas.PNG

También me permitiría crear un informe que analice la producción por hora de las unidades de carga… que también tendré que hacer más adelante.

Los problemas que estoy teniendo:

  • Estoy seriamente perdido y no estoy 100% seguro de saber lo que estoy haciendo.
  • No sé cómo relacionar esta nueva tabla con la fecha de mi ciclo para permitir que el turno ajustado la «corte»
  • ¿Funcionará o es mejor usar algún tipo de fórmula para ajustar el tiempo de turno en la tabla de tiempo del ciclo?
  • ¿Algo de lo que dije es posible o hay otra forma que pueda recomendar que pueda ser más eficiente?

Agradezco cualquier tiempo que pueda dedicar a ayudarme con esto.

Salud,

Brezo

@hbomb

Hola hbomb,

Para implementar el cambio de fechas, cree una nueva columna calculada en su tabla de fechas de ciclo.

Column1 = If(((HOUR(CyceTable[CycleStart])*3600+MINUTE(CyceTable[CycleStart])*60+SECOND(CyceTable[CycleStart]))-(6*3600+15*60)>0) && ((HOUR(CyceTable[CycleStart])*3600+MINUTE(CyceTable[CycleStart])*60+SECOND(CyceTable[CycleStart]))-(6*3600+15*60)<12*3600), "Day","Night")

3333.PNG

Con respecto a su segundo requisito, puede transformar el valor de la columna Cyclestart según la fórmula a continuación. Entonces es fácil crear una relación de uno a muchos entre esta tabla de fechas de ciclos y la tabla de bloques por horas.

Column 2 = IF(MINUTE(CyceTable[CycleStart])>15,DATEVALUE(CyceTable[CycleStart])+TIME(HOUR(CyceTable[CycleEnd]),15,0),DATEVALUE(CyceTable[CycleStart])+TIME(HOUR(CyceTable[CycleEnd])-1,15,0))

444.PNG

Si tiene alguna pregunta, no dude en preguntar.

Atentamente,
Yuliana Gu

@hbomb

Hola hbomb,

Para implementar el cambio de fechas, cree una nueva columna calculada en su tabla de fechas de ciclo.

Column1 = If(((HOUR(CyceTable[CycleStart])*3600+MINUTE(CyceTable[CycleStart])*60+SECOND(CyceTable[CycleStart]))-(6*3600+15*60)>0) && ((HOUR(CyceTable[CycleStart])*3600+MINUTE(CyceTable[CycleStart])*60+SECOND(CyceTable[CycleStart]))-(6*3600+15*60)<12*3600), "Day","Night")

3333.PNG

Con respecto a su segundo requisito, puede transformar el valor de la columna Cyclestart según la fórmula a continuación. Entonces es fácil crear una relación de uno a muchos entre esta tabla de fechas de ciclos y la tabla de bloques por horas.

Column 2 = IF(MINUTE(CyceTable[CycleStart])>15,DATEVALUE(CyceTable[CycleStart])+TIME(HOUR(CyceTable[CycleEnd]),15,0),DATEVALUE(CyceTable[CycleStart])+TIME(HOUR(CyceTable[CycleEnd])-1,15,0))

444.PNG

Si tiene alguna pregunta, no dude en preguntar.

Atentamente,
Yuliana Gu

hbomba

En respuesta a v-yulgu-msft

@v-yulgu-msft

No creo que esto tenga nada que ver con el formato, como dije en el último comentario.

En la última parte de la segunda fórmula no puedo completar la siguiente fórmula…

+(TIEMPO(HORA(mineApsViewTruckCycles[CycleEnd])-1,15,0)))

Parece que puedo restar de la declaración HORA sin que devuelva el siguiente error:

Un argumento de la función ‘HORA’ tiene el tipo de datos incorrecto o el resultado es demasiado grande o demasiado pequeño.

hbomba

En respuesta a v-yulgu-msft

Hola Yuliana,

¡Esto es genial! Tengo un problema.

Recibo un error: un argumento de la función ‘HORA’ tiene el tipo de datos incorrecto o el resultado es demasiado grande o demasiado pequeño.

He intentado ajustar los tipos de formato, pero no estoy muy seguro de cuál es el error. ¿Podría deberse a que el formato de fecha australiano en mi tabla es día/mes/año y en el suyo mes/día/año?

Salud,

hbomba

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *