Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Intervalo de horas

Buenos días,

Estoy haciendo una aplicación en la que quiero contar los registros diarios pero no en el día natural, sino una franja horaria.

Es decir, los registros de hoy día 22 serían los que entraron entre el día 21/12/2015 a las 13:31 y el día 22/12/2015 a las 13:30.

He pensado en hacer este calculo en la carga de datos, indicándole a que día "efectivo" pertenecen en función de este rango.

Se os ocurre como hacerlo?

Muchas gracias

Un saludo,

Maria

1 Solution

Accepted Solutions
JoaquinLazaro
Partner - Specialist II
Partner - Specialist II

Hola María:

Lo más práctico es en el script, luego te vale para todos los gráficos.

Cuando gestionas horas y minutos la forma más práctica de sobrevivir es llevarlo todo a minutos; por ejemplo, las 13:30 serían 13*60+30 =  780+30 = 810.

Tu TimeStamp lo llevas a un campo fecha y a otro campo hora que conviertes a minutos ... si minutos >= 811 fecha = fecha, si minutos < 811 fecha = fecha -1

Espero no haber incrementado tu nivel de incertidumbre

Saludos

Joaquín

View solution in original post

14 Replies
jolivares
Specialist
Specialist

Lo puedes hacer de cualquiera de las dos formas, tanto en el script como en una tabla.

If(Num(FechaHora) >= FecHorInicio And Num(FechaHora) <= FecHorInicio, FechaHora)

JoaquinLazaro
Partner - Specialist II
Partner - Specialist II

Hola María:

Lo más práctico es en el script, luego te vale para todos los gráficos.

Cuando gestionas horas y minutos la forma más práctica de sobrevivir es llevarlo todo a minutos; por ejemplo, las 13:30 serían 13*60+30 =  780+30 = 810.

Tu TimeStamp lo llevas a un campo fecha y a otro campo hora que conviertes a minutos ... si minutos >= 811 fecha = fecha, si minutos < 811 fecha = fecha -1

Espero no haber incrementado tu nivel de incertidumbre

Saludos

Joaquín

Anonymous
Not applicable
Author

Gracias a los dos.

Tengo una dudilla con como tratar mi campo de fecha.

El campo me viene con el siguiente formato de valor 22/12/2015 10:29:49.818

No manejo muy bien las funciones de fecha y hora, y tampoco la de trim, ya que solo encuentro right y left.

Como lo convertiriais para poder hacer la operacion que os describo?

JoaquinLazaro
Partner - Specialist II
Partner - Specialist II

De nada.

Date(TuFecha, 'DD/MM/YYYY') as NuevaFecha

Time(TuFecha, 'HH:MM') as NuevaHora


Saludos

Joaquín

Anonymous
Not applicable
Author

No me van las funciones en el Script ni el la expresión.... deberia primero "cortar" la fecha y la hora?

JoaquinLazaro
Partner - Specialist II
Partner - Specialist II

Estas funciones no causan problemas !!!

Que base de datos tienes ?

JoaquinLazaro
Partner - Specialist II
Partner - Specialist II

Algunas bases de datos son más complejas con los campos de tipo TimeStamp, prueba ésto

Date(MakeDate(Year(TuFecha), Num(Month(TuFecha), Day(TuFecha)), 'DD/MM/YYYY') as NuevaFecha

Time(MakeTime(Hour(TuFecha), Minute(TuFecha)), 'HH:MM') as NuevaHora

Anonymous
Not applicable
Author

Estoy usando SQL.

Lo he conseguido asi:

Date#(left(FECHA,10),'MM/DD/YYYY') as FechaHist,

Time(Right(FECHA, 12),'HH:MM')  as HoraHist;

Sin ponerle el left y right no me carga ningun valor... pero bueno por ahora me vale

Crees que deberia funcionarme de otra forma? que siempre hay que aprender...

JoaquinLazaro
Partner - Specialist II
Partner - Specialist II

SQL ???

Siempre leemos con SQL !!! 

Lo importante es el RDBMS (SQL Server, MySQL, Oracle ... ) cada uno tienes sus peculiaridades en la manipulación de fechas, que a su vez dependen del tipo de dato.

Saludos

Joaquín