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

Announcements
Write Table now available in Qlik Cloud Analytics: Read Blog
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Calculo entre datas

Oy pessoal,

Sou iniciante no Qlikview e estou com uma dificuldade em fazer calculos com datas. somar datas ou fazer acrescimo de dias na data.

Preciso fazer um calculo de somar dois dias em uma data e compara-la com outra.

Desde ja, agradeço.

1 Solution

Accepted Solutions
Not applicable
Author

Que tipo de comparação você quer fazer entre as datas?

Por exemplo, temos funções de intervalor como a Interval


Interval(EndDate - StartDate).

E para adicionar dias à uma data basta simplesmente incrementar a data do número de dias que você deseja. Por exemplo:


date(DATE#('15-01-2014','DD-MM-YYYY') +2,'DD-MM-YYYY')

Qualquer dúvida entre em contato.

Abraço.

Tiago

View solution in original post

11 Replies
jvitantonio
Specialist III
Specialist III

Hola,

Fijate la aplicacion que aqui te paso.

Saludos,

JV

arbernardez_old
Partner - Contributor III
Partner - Contributor III

Boas,

umha data, se ten o formato correcto, poderase utilizar coma se fose un numero, é dicir, tendo o día de hoxe podes restarlle o día de onte e a diferencia será 1 día.

tamén, podes ter umha data, 01/01/2014 sumarlle 7 días, e terás 08/01/2014, logo compara-la com outra, restandoa, por exemplo, 05/01/2014, e o resultado será 3.

Um Saúdo,

perdoa o meu portuges, son galego da galiza

Not applicable
Author

Que tipo de comparação você quer fazer entre as datas?

Por exemplo, temos funções de intervalor como a Interval


Interval(EndDate - StartDate).

E para adicionar dias à uma data basta simplesmente incrementar a data do número de dias que você deseja. Por exemplo:


date(DATE#('15-01-2014','DD-MM-YYYY') +2,'DD-MM-YYYY')

Qualquer dúvida entre em contato.

Abraço.

Tiago

Clever_Anjos
Employee
Employee

Existe um pacote muito bom de manipulações de datas, recorra ao manual.

O basico

Somar: CampoData + 5 (incrementa 5 dias)

Diferença entre datas   D2 - D1 = retorna quantos dias existem entre eles.

Tenha cuidado ao comparar datas, verifique antes se as horas também estão armazenadas. Se estive é conveniente remover as horas floor(D2) - floor(D1) = retorna quantos dias existem entre as datas, descartando horas

Not applicable
Author

Consegui incrementar a data. Estou tentando por uma condicao em que englobe Data1 quando a Data2 for maior que a Data1 + 2 dias. Ex.: sum( {< Data1= Data2 > Date(Date#(Date(Data1)) + 2) >}. Valor)

Clever_Anjos
Employee
Employee

Date(Date#(Date(Data1))) não faz muito sentido... O campo Data1 é uma data? Em que formato?

Not applicable
Author

tipo IF(DATE#(Data2,'DD-MM-YYYY') > DATE(DATE#(Data1,'DD-MM-YYYY') +2,'DD-MM-YYYY'), Valor, 0)  ?

Como o Clever disse, você tem que verificar em que formato estão estas datas, para que você tenha os mesmo formatos para comparação

Not applicable
Author

estao todos em formato de DD/MM/AAAA.  O que preciso é pegar os valores quando a Data2 for maior que a Data1 +2

Clever_Anjos
Employee
Employee

Nesse caso, com if fica mais direto

sum(if(floor(Data) > (floor(Data1+2)), Valor)