Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Want to see what's currently in public preview? We've pulled it all together in one place. Check it out here
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Conversão de horário

Bom dia Pessoal, segue uma dúvida.

Tem um campo Data no formato Timestamp, DD/MM/YYYY hh:mm:ss

Preciso que essa data seja convertida pra que o dia inicie na hora 00:05 (meia noite e 5) e não meia noite de cada mês.

Exemplo: quando for 01/11/2015 00:00:00, ele não considere esse dado quando eu selecionar o mês de novembro e sim quando selecionar outubro;

Abs

1 Solution

Accepted Solutions
Clever_Anjos
Support
Support

Eu trabalharia com outra data "paralela" com 5 minutos de diferença.

Algo como

t:

LOAD

  Data,

  TimeStamp(Data - 5/(24*60)) as DataAjustada

resident t1;

drop Table t1;

View solution in original post

7 Replies
Clever_Anjos
Support
Support

Eu trabalharia com outra data "paralela" com 5 minutos de diferença.

Algo como

t:

LOAD

  Data,

  TimeStamp(Data - 5/(24*60)) as DataAjustada

resident t1;

drop Table t1;

Anonymous
Not applicable
Author

Clever segue o problema mais detalhado vamos dizer.

eu tenho a data TimeStamp, porém preciso fazer cálculo do horário de verão pra bater o tempo com o sistema interno, e fiz isso.

SET GMTShift = gmt() - ConvertToLocalTime(UTC(), 'GMT+03:00');

Esse ponto funcionou bem, consegui trazer os mesmo dados do sistema dele, a unica pendência é esses 5 minutos que não to conseguindo fazer.

Os campos criados de tempo seguem abaixo:

MakeDate(Year((Data + Num($(GMTShift)))), Month((Data + Num($(GMTShift)))), Day((Data + Num($(GMTShift))))) as Data,        

     Year((Data + Num($(GMTShift)))) as Ano,

     Month((Data + Num($(GMTShift)))) as Mes,

     MonthName((Data + Num($(GMTShift)))) as MesAno,

     Day((Data + Num($(GMTShift)))) as Dia,

     Time#(time(Data + Num($(GMTShift)),'hh:mm:ss')) as HoraQ,

     Time#(time(Floor((time(Data + Num($(GMTShift)),'hh:mm:ss')),1/(24*4)))) as Hora15,

     Date#(Time((Data + Num($(GMTShift)))), 'hh:mm:ss') as HoraQNum,

     Hour((Data + Num($(GMTShift)))) as Hora,    

Agora preciso fazer com que toda virada de mês de 31 pra 01, a 00:00:00 fique pertencendo ao dia 31 e dia 01 conte a partir da 00:05:00.

nicolett_yuri
Partner Ambassador/MVP
Partner Ambassador/MVP

Acredito que um IF pode resolver a sua vida, consegue postar um qvw de exemplo?

Anonymous
Not applicable
Author

Anexei o arquivo de modelo do que preciso Yuri. De uma olhada.

lucianosv
Specialist
Specialist

Bom dia.

Se você colocar os cinco minutos no GMTShift é provável que já funcione.

=$(GMTShift)  - 5/(24*60)

Esse desconto têm que ficar em todos os campos do calendário.

lucianosv
Specialist
Specialist

Dá uma olhada no teste com inline para a data '15/02/2016 00:04:01'.

O dia retornou 14.

Anonymous
Not applicable
Author

Deu certo desse jeito, o Clever já tinha postado acima e fiz o teste e funcionou.

Agora através do tempo que esta no script do qvw em anexo, preciso criar um campo que retorne 4 intervalos(15 min, 30, 45 e 60) de cada hora.