Qlik Community

Qlik Brasil

Welcome to the group for Brazil users. .All discussions will be in Portuguese.

Highlighted
cristianevpm
New Contributor III

Somar Horas

Preciso fazer uma soma da coluna TEMPO_TP

Mas a soma no qlikview está absurda: 55,01634

 

Tempo_TP
00:03:00
00:03:00
00:08:00
00:11:00
00:12:00
00:14:00
00:18:00
00:27:00
00:35:00
00:49:49
00:50:00
00:54:00
00:55:00
00:59:00
01:07:00
02:19:57
02:50:00
03:06:00
03:18:00
03:24:34
07:43:00

Pode me ajudar?

11 Replies
marcelvinicius
Contributor III

Re: Somar Horas

Boa tarde Cristiane,

Como está configurado seu campo TEMPO_TP?


Tentou assim?

Sum(time(timestamp(TEMPO_TP))

cristianevpm
New Contributor III

Re: Somar Horas

Não funcionou.

O campo está como texto.

Sabe como converto esse campo em horas ou decimal ?

marcelvinicius
Contributor III

Re: Somar Horas

Tenta converter com esse:

NUM(NUM(TEMPO_TP) / 100, '###.###,##')

marcelvinicius
Contributor III

Re: Somar Horas

Ou somente

TimeStamp(TEMPO_TP)

eduardo_dimperio
Valued Contributor II

Re: Somar Horas

Ola Cristiane,

A funcao time(field) ja deveria resolver, caso nao funcione tente time(num#(field)) e tente somar. Se ainda sim não funcionar, entao quebre por hora usando a função hour() e depois faça a soma.

cristianevpm
New Contributor III

Re: Somar Horas

Os dados de input estão no formato de horas 'hh:mm:ss'

No script escrevi inteval(sum(Tempo_Tp),'hh:mm:ss') as Tempo_Real

Mas o resultado deveria ser 30:27:20 está mostrando errado 06:24:00.

Capturar.JPG

marcelvinicius
Contributor III

Re: Somar Horas

Boa tarde,

Não consegue disponibilizar o qvw?

Att

srchagas
Contributor III

Re: Somar Horas

Ola..

Vamo a Regras:

* Voce tem hora e minutos no registro, por esse motivo so dividir por 60 nao resolve , o que voce precisa e fazer um pequena validacao. Eu particulamente gosto de jogar tudo para segundo e depois trabalhar o dado, mas  claro e gosto meu, entao eu faco esse codigo ai Abaixo:

Tmp:

LOAD * Inline

[

Hora, ID

00:03:00,1

00:03:00,1

00:08:00,1

00:11:00,1

00:12:00,1

00:14:00,1

00:18:00,1

00:27:00,1

00:35:00,1

00:49:49,1

00:50:00,1

00:54:00,1

00:55:00,1

00:59:00,1

01:07:00,1

02:19:57,1

02:50:00,1

03:06:00,1

03:18:00,1

03:24:34,1

07:43:00,1

];

Horas:

NoConcatenate

LOAD

ID,

  Time(Hora,'hh:mm:ss')as nValorHora,

  if(Hora/60 >='0,00069444444444444',((Hora/24)/60),Hora/60 ) as cValorHoraemSegs

Resident  Tmp;

DROP Table Tmp;

Ai depois disso usa isso aqui : Interval(Sum(cValorHoraemSegs))

mas voce pode usar somente o Interval(Sum(Hora)),


Quando voce vai calcular tempo nao pode simplesmente fazer o SUM e converter para Hora, voce precisa da funcao Interval para calcular o invervalo das horas



Espero ter ajudado.

eduardo_dimperio
Valued Contributor II

Re: Somar Horas

Cristiane, faz um teste

SUM(HOUR(Tempo_Tp))+SUM(MINUTE(Tempo_Tp))+SUM(SECOND(Tempo_Tp))