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

Soma de horas de um campo datetime

Estou com um problema para somar horas de um campo datetime.

no banco de dados tenho a coluna de tempo de duração de um processo e ela está formatado como "dd/MM/mm hh:mm:ss" porém preciso fazer a soma somente das horas e minutos, pois preciso saber do total de horas que teve de execução dessa tarefa em determinado período. 

no script fiz um load do campo para separar as horas da data, da seguinte forma 

time(frac([TABELA.VL_TEMPO_DURACAO])) as TEMPO_DURACAO

ai quando jogo ele em uma tabela ele me retorna somente a hora, exatamente como preciso.

Pbaptista_0-1704888629239.png

mas quando faço um sum(tempo_duracao) ele me retorna um valor totalmente diferente do valor que deveria me retornar. 

Pbaptista_1-1704888726076.png

no sum, também coloquei um "interval" mas o resultado ficou ainda mais estranho 

Pbaptista_2-1704888881553.png

 

Labels (3)
1 Solution

Accepted Solutions
MatheusC
Specialist
Specialist

@Pbaptista 

Usa a função aggr para este conjunto de valores, como o exemplo:

interval (sum (aggr (sum (TEMPO_DURACAO), ID_PROCESSO)))

Att, Matheus



Did you find a solution to your question? Mark the solution as accepted and if you found it useful, press the like button!

View solution in original post

5 Replies
MatheusC
Specialist
Specialist

@Pbaptista 

Tente adicionar a cláusula distincnt a sua expressão.

interval(sum(distinct durationInterval))


Att, Matheus



Did you find a solution to your question? Mark the solution as accepted and if you found it useful, press the like button!
Pbaptista
Contributor II
Contributor II
Author

Mas fazendo a soma distinta ele vai excluir valores essenciais para soma 

veja nesse exemplo que fiz 

Pbaptista_0-1704976792748.png

 

aqui a soma distinta foi de 66:55, porém nesse período o valor correto seria de 71:11, e a diferença está justamente nos valores repetidos 

Pbaptista_1-1704976909599.png

 

E se eu removo um dos valores repetidos, o valor fica exatamente igual do qlik

MatheusC
Specialist
Specialist

@Pbaptista 

Usa a função aggr para este conjunto de valores, como o exemplo:

interval (sum (aggr (sum (TEMPO_DURACAO), ID_PROCESSO)))

Att, Matheus



Did you find a solution to your question? Mark the solution as accepted and if you found it useful, press the like button!
MatheusC
Specialist
Specialist

@Pbaptista 
Conseguiu resolver?

Feche o tópico com a solução aceita, deixe um joia se a solução foi útil.

Did you find a solution to your question? Mark the solution as accepted and if you found it useful, press the like button!
Pbaptista
Contributor II
Contributor II
Author

Consegui resolver usando o Distinct. 

 

Muito obrigado @MatheusC