Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
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
Luminary Alumni
Luminary Alumni

Hola,

Fijate la aplicacion que aqui te paso.

Saludos,

JV

arbernardez
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)