Calcular la duración por hora del día

Un usuario Pregunto ✅

vyuvaraj

Tengo columnas Hora de inicio, Hora de finalización Ubicación

14/6/2018 8:26:00 p. m. 15/6/2018 5:53:00 a. m.

La duración total es de 567 minutos.

Necesito dividir la duración por hora. El resultado que necesito es el siguiente

Fecha Ubicación 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

14/6/2018 IL 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 34 60 60 60 60

15/6/2018 Illinois 60 60 60 60 53 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Quiero trazar un gráfico con

Fecha en el eje x y hora del día en el eje y.

¡Cualquier ayuda es apreciada!

Gracias

Hola @vyuvaraj,

Por favor, compruebe los siguientes pasos como se indica a continuación.

1. Introduzca un horario de 00:00:00 a 23:00:00.

2. Cree una tabla calculada usando la fórmula.

Datetime = ADDCOLUMNS(CROSSJOIN(CALENDAR(MAX(Table1[Start time]),MAX(Table1[Stop time])),'Time'),"datetime",[Date]+'Time'[Time])

3. Entonces podemos crear algunas columnas calculadas para cumplir con sus requisitos.

Hour = HOUR(Datetime[Time])
newdatetime = IF(Datetime[datetime]>=MAX(Table1[Start time]) && Datetime[datetime]<=MAX(Table1[Stop time]),'Datetime'[datetime])
Column = var durs = DATEDIFF(MAX(Table1[Start time]),Datetime[newdatetime],MINUTE)
var dure =DATEDIFF(Datetime[newdatetime],MAX(Table1[Stop time]),MINUTE)
var mind = CALCULATE(MIN(Datetime[newdatetime]),ALL(Datetime))
var maxd = CALCULATE(MAX(Datetime[newdatetime]),ALL(Datetime))
return
IF(ISBLANK(Datetime[newdatetime]),BLANK(),IF(Datetime[newdatetime]=mind,durs,IF(Datetime[newdatetime]=maxd,dure,60)))
D = var datestart = DATE(YEAR(MAX(Table1[Start time])),MONTH(MAX(Table1[Start time])),DAY(MAX(Table1[Start time])))
var dateend = DATE(YEAR(MAX(Table1[Stop time])),MONTH(MAX(Table1[Stop time])),DAY(MAX(Table1[Stop time])))
var dates = DATE(YEAR(Datetime[newdatetime]),MONTH(Datetime[newdatetime]),DAY(Datetime[newdatetime]))
return
IF(dates=datestart,MAX(Table1[Start time]),IF(dates=dateend,MAX(Table1[Stop time])))

4. Entonces podemos obtener el resultado de la siguiente manera.

Captura.PNG

Para obtener más detalles, consulte el pbix adjunto.

Saludos,

Franco

Hola @vyuvaraj,

Por favor, compruebe los siguientes pasos como se indica a continuación.

1. Introduzca un horario de 00:00:00 a 23:00:00.

2. Cree una tabla calculada usando la fórmula.

Datetime = ADDCOLUMNS(CROSSJOIN(CALENDAR(MAX(Table1[Start time]),MAX(Table1[Stop time])),'Time'),"datetime",[Date]+'Time'[Time])

3. Entonces podemos crear algunas columnas calculadas para cumplir con sus requisitos.

Hour = HOUR(Datetime[Time])
newdatetime = IF(Datetime[datetime]>=MAX(Table1[Start time]) && Datetime[datetime]<=MAX(Table1[Stop time]),'Datetime'[datetime])
Column = var durs = DATEDIFF(MAX(Table1[Start time]),Datetime[newdatetime],MINUTE)
var dure =DATEDIFF(Datetime[newdatetime],MAX(Table1[Stop time]),MINUTE)
var mind = CALCULATE(MIN(Datetime[newdatetime]),ALL(Datetime))
var maxd = CALCULATE(MAX(Datetime[newdatetime]),ALL(Datetime))
return
IF(ISBLANK(Datetime[newdatetime]),BLANK(),IF(Datetime[newdatetime]=mind,durs,IF(Datetime[newdatetime]=maxd,dure,60)))
D = var datestart = DATE(YEAR(MAX(Table1[Start time])),MONTH(MAX(Table1[Start time])),DAY(MAX(Table1[Start time])))
var dateend = DATE(YEAR(MAX(Table1[Stop time])),MONTH(MAX(Table1[Stop time])),DAY(MAX(Table1[Stop time])))
var dates = DATE(YEAR(Datetime[newdatetime]),MONTH(Datetime[newdatetime]),DAY(Datetime[newdatetime]))
return
IF(dates=datestart,MAX(Table1[Start time]),IF(dates=dateend,MAX(Table1[Stop time])))

4. Entonces podemos obtener el resultado de la siguiente manera.

Captura.PNG

Para obtener más detalles, consulte el pbix adjunto.

Saludos,

Franco

jcarville

En respuesta a v-frfei-msft

@ v-frfei-msft esto es similar a un problema que estoy enfrentando. Su solución tiene sentido y es la respuesta a la consulta original, pero ¿qué cambiaría si hubiera varias ubicaciones? He proporcionado un conjunto de datos de muestra a continuación:

Hora de inicio, Hora de finalización Ubicación Valor

14/6/2018 8:26:00 p. m. 15/6/2018 5:53:00 a. m. IL 567

15/6/2018 9:00:00 p. m. 16/6/2018 2:00:00 a. m. MC 500

16/06/2018 14:00:00 16/06/2018 15:30:00 DE 150

vyuvaraj

Tengo columnas Hora de inicio, Hora de finalización Ubicación

14/6/2018 8:26:00 p. m. 15/6/2018 5:53:00 a. m.

La duración total es de 567 minutos.

Necesito dividir la duración por hora. El resultado que necesito es el siguiente

Fecha Ubicación 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

14/6/2018 IL 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 34 60 60 60 60

15/6/2018 Illinois 60 60 60 60 53 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Quiero trazar un gráfico con

Fecha en el eje x y hora del día en el eje y.

¡Cualquier ayuda es apreciada!

Gracias

En respuesta a vyuvaraj

Hola @vyuvaraj,

¿Tiene sentido? Si es así, por favor marque mi respuesta como la solución para cerrar el caso, por favor. Gracias por adelantado.

Saludos,
Franco

Deja un comentario

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