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

Announcements
Posting on Qlik Community is temporarily paused for some users. Thank you for patience and we'll update you soon!
cancel
Showing results for 
Search instead for 
Did you mean: 
viniciusroteli
Contributor III
Contributor III

Contar Intervalos de Tempo !!!

Boa Tarde !!!

Nunca trabalhei com intervalo de horas e tenho a seguinte situação.

Pessoal tem uma tabela com duas datas como uma agenda.

Campo "Datainicio" 01/12/2015 08:00 e campo  "Datafim" 01/12/2015 10:45

Sempre as datas estarão com intervalo de múltiplos de 15 minutos.

O que preciso saber é quantos intervalos de 15 min tenho de cada Datafim - Datainicio.

O Interval de =Interval([Datafim]-[Datainicio])  é 02:45 nesse caso tenho 11 intervalos de 15 min.

Agradeço.

1 Solution

Accepted Solutions
Clever_Anjos
Support
Support

Veja se atende: =round((Horafim - Horainicio)*24*4)

View solution in original post

18 Replies
maiconmello
Creator III
Creator III

Talvez isso ajude :

Pegaria a hora inteira : Floor(02:45)  * 60 - converte para minutos e divide por 15 que seu intervalo.  = 8

pegaria o Frac(02:45) / 60 - converte em hora - esse resultado você divide por 15 que seu intervalo e multiplica por 60 novamente.  = 3  depois soma os dois  = 11.

Exemplo : (floor(02:45) * 60 ) / 15  + ((frac(02:45) / 60) / 15) * 60 ))

Talvez isso ajude ..

Atenciosamente,

Maicon Mello

viniciusroteli
Contributor III
Contributor III
Author

Maicon,

Não tinha utilizado a Função floor e fiz isso:

Valor do campo [Hora Fim]   03/11/2015  18:15:00

Valor do campo [Hora Início] 03/11/2015  13:00:00


=floor(Interval([Hora Fim]-[Hora Início])/Time('00:15:00'))

Resultado = 21 Intervalos de 15 min.

É correto essa expressão ???

maiconmello
Creator III
Creator III

ViniciusRoteli‌ bom dia,

Ao meu entender esta correto, se das 13 as 18 são 5 horas.

Cada hora tem 4 intervalos + 1intervalo de 15 minutos.

Mas se tiver um modelo que possa enviar , posso dar uma olhada melhor !!

viniciusroteli
Contributor III
Contributor III
Author

Fiz um modelo pra Teste Maicon.

teste:

LOAD * INLINE [ 

    Horainicio, Horafim 

    '19/08/2015 14:00:00', '19/08/2015 17:00:00'

    '10/12/2015 08:00:00', '10/12/2015 11:15:00'

]; 

Criei uma tabela coloquei horainicio e horafim na dimensão e a expressão

=floor(Interval(Horafim-Horainicio)/Time('00:15:00'))    sem o floor resultado 12

=round(Interval(Horafim-Horainicio)/Time('00:15:00'))  sem o floor resultado 12,999999

e acabei achando um erro na expressão floor as duas linhas ficam com valor 12

já na linha com round da 13 que é o correto mas com campo de data e hora do BD que era

'25/09/2015 13:30:00', '25/05/2015 17:15:00' e nesse caso que eram 15 e deu certo..

viniciusroteli
Contributor III
Contributor III
Author

Alguém tem uma idéia melhor  ????

O que eu fiz está correto ???

Agradeço.

viniciusroteli
Contributor III
Contributor III
Author

cleveranjos‌ e nicolett.yuri‌

Não sei se vocês viram minha dúvida mas como vocês 2 que mais ajudam a galera poderiam me ajudar com a dúvida Contar Intervalos de Tempo !!!‌

Atenciosamente, Vinicius.

Clever_Anjos
Support
Support

Veja se atende: =round((Horafim - Horainicio)*24*4)

viniciusroteli
Contributor III
Contributor III
Author

Atende sim, cleveranjos Obrigado.

Só mais uma dúvida eu só vou fazer isso para os Eventos que não possuem "exclusão".

Os dados estão assim:  Expressão = round((Horafim - Horainicio)*24*4)

     

EventoTipo AçãoHora InícioHora FimExpressão
84CRIACAO21/08/2015 21:00:0021/08/2015 21:30:000
84EXCLUSAO21/08/2015 21:00:0021/08/2015 21:30:000
85CRIACAO21/08/2015 22:00:0021/08/2015 22:30:002

Eu fiz um outro load e marquei os eventos que possuem exclusão deu certo, mas existe alguma outra forma de fazer ???

Clever_Anjos
Support
Support

Tenta

round({<[Tipo Ação]=-{"EXCLUSAO"}>}(Horafim - Horainicio)*24*4)