Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
Not applicable

Trabalhando com Tempo(Formato Time)

Boa Tarde.

Pessoal, nas faturas da Vivo que chegam em nossa empresa, os minutos das ligações são gerados no seguinte formato :

00h:00m:54s
00h:02m:24s
00h:00m:30s
00h:00m:42s
00h:00m:42s
00h:02m:12s
00h:00m:30s
00h:00m:48s
00h:03m:54s
00h:02m:00s

Quando eles são importados para o Qlikview, não consigo trabalhar eles como Horas, Minutos e Segundos.

Já Tentei utilizar a seguinte conversão ;

Variável do Sistema --> SET TimeFormat='hh:mm:ss';

Minha Carga  --> Time#(Duração)) as Duracao_convert

Porem ele ainda não assuma o tipo Time, precisa fazer alguns SUM() com esses valores.

Isso está ocorrendo devido a conversão que eu estou fazendo errado ?

1 Solution

Accepted Solutions
aderlanrm
Valued Contributor

Re: Trabalhando com Tempo(Formato Time)

Olá Carlos,

Segue uma dica para eliminar caracteres:

KeepChar(s1 , s2)

Retorna o caracter s1 menos todos os caracteres não contidos no caracter s2.

Também existe o:

PurgeChar(s1, s2)

Retorna o caracter s1 menos todos os caracteres contidos no caracter s2.

No teu caso ficaria Time#(KeepChar(Time_Convert,'0123456789:')), recomendo colocar direto no script e nos objetos usar somente o nome do campo.

No F1 tem exemplos dessas funções.

Abraço.

4 Replies
Not applicable

Re: Trabalhando com Tempo(Formato Time)

Obs : Removendo os valores 'h' , 'm', 's' da seguinte forma :

00:00:54

00:02:24

00:00:30

00:00:42

00:00:42

00:02:12

00:00:30

00:00:48

00:03:54

00:02:00

Ele faz a conversão corretamente.

Not applicable

Re: Re: Trabalhando com Tempo(Formato Time)

Boa Tarde Consegui resolver o meu problema hahaha, seguinte :

Retirei as Letras 'h' , 'm', 's'  :


((mid(Duração,1,2)) & (mid(Duração,5,2)) & (mid(Duração,9,2))) as Time_Convert

Converti Para Time :

=time(time#(Time_Convert,'hhmmss'),'hh:mm:ss')

Depois fiz o SUM :

=sum(time(time#(Time_Convert,'hhmmss'),'hh:mm:ss'))

aderlanrm
Valued Contributor

Re: Trabalhando com Tempo(Formato Time)

Olá Carlos,

Segue uma dica para eliminar caracteres:

KeepChar(s1 , s2)

Retorna o caracter s1 menos todos os caracteres não contidos no caracter s2.

Também existe o:

PurgeChar(s1, s2)

Retorna o caracter s1 menos todos os caracteres contidos no caracter s2.

No teu caso ficaria Time#(KeepChar(Time_Convert,'0123456789:')), recomendo colocar direto no script e nos objetos usar somente o nome do campo.

No F1 tem exemplos dessas funções.

Abraço.

Not applicable

Re: Trabalhando com Tempo(Formato Time)

Aderlan Rodrigues, show de bola essas funções, funcionou certinho para oque eu precisava.

Obrigado pela Ajuda.

Att