Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
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
Employee
Employee

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
Employee
Employee

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
Employee
Employee

Tenta

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