Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Nov. 20th, Qlik Insider - Lakehouses: Driving the Future of Data & AI - PICK A SESSION
cancel
Showing results for 
Search instead for 
Did you mean: 
marcio150972
Creator
Creator

Calculo com datas.

Pessoal,

Tenho uma situação  que segue abaixo:

Eu tenho uma tabela com um campo data_modificacao, este campo está com a informação desta maneira: 2014-11-04 11:38:43

Eu preciso criar um campo que faça o seguinte calculo: =now() - data_modificacao e que o resultado seja um numero inteiro.

Quando faço hoje o resultado de uma linha para exemplo fica 0,028240740743058.

eu preciso que quando eu faça o calculo, se eu pegar a data de hoje 04/11/2014 que seria o now() e na coluna data_modificacao esteja 03/11/20014 apareça 1 e assim por diante.

Como meu campo tem horas, minutos e segundos, tem linha que esta me retornando 2 em função disso.

Outra coisa que eu preciso, quando eu clicar em algum numero do resultado de dias, eu preciso que venha todos iguais, hoje quando eu clico  vem apenas uma linha, acredito que seja em função da formatação.

Agradeço desde já a ajuda.

NOW()data modificacao VersãoDias Sem Comunicardeveria ficar
2014-11-04 11:38:432014-11-04 11:38:43                                          0                         0
2014-11-04 12:38:432014-11-04 11:38:43                                          1                         0
2014-11-03 12:38:432014-11-04 11:38:4311
2014-11-03 13:38:432014-11-04 11:38:4321
1 Solution

Accepted Solutions
fernando_tonial
Employee
Employee

Tudo certo e com vc?

Tente assim:

Today()-Date(Floor(data_modificacao),'DD/MM/YYYY')


Qlikfique-se.

Tonial.

Don't Worry, be Qlik.

View solution in original post

28 Replies
Not applicable

Marcio,

tive um problema parecido, tenta colocar um if:

=num(if(today() - date_modified < 1,0,today() - date_modified), '#.##0')

pq ai se o numero for menor que 1 ele retorna zero.

tenta ai é me fala.

marcio150972
Creator
Creator
Author

Obrigado pela ajuda Matheus,

Coloquei a tua sugestão, e o resultado foi esse:

Data VersãoDias sem Comunicarnumero certo
04/11/201400
03/11/201401
04/11/201400
04/11/201400
04/11/201400
04/11/201400
28/10/201467
29/10/201456
01/10/20143334

existe uma diferença ainda.

Not applicable

Marcio,

No caso vc está usando o now() é so trocar para o today() que vai da certo.

espero ter ajudado.

Até.

lucianosv
Specialist
Specialist

Boa tarde.

Duas questões:

O arredondamento é sempre para baixo?

A conta que você colocou dá valores negativos. É para mostra sem sinal?

lucianosv
Specialist
Specialist

Boa tarde.

Segue qvw. Alterei um pouco seus dados iniciais:

NOW()data modificacao VersãoDias Sem Comunicardeveria ficar
2014-11-04 11:38:432014-11-04 11:38:43                                          0                         0
2014-11-04 12:38:432014-11-04 11:38:43                                          1                         0
2014-11-03 12:38:432014-11-04 11:38:4311
2014-11-03 13:38:432014-11-04 11:38:4321

Veja o anexo.

marcio150972
Creator
Creator
Author

Matheus,

Quando eu uso = replace((now()) - [data modificacação] ,'-0',0) o resultado fica assim:

04/11/20140
03/11/20141
04/11/20140
04/11/20140
04/11/20140
04/11/20140
28/10/20147
29/10/20146

Esses estão corretos, mas quando eu filtro por dia 04/11/2014, também aparece assim:

04/11/20141
04/11/20141

Contando como se voce 1 dia, eu acho que deve ser em função da data que tem horas, minutos e segundos, é isso que não estou conseguindo acertar e como esta assim, se eu for e clicar na coluna com os dias e e escolher o 1, só vem um campo e nao vem os demais que tem 1, nao consigo usar como filtro.

Se eu colocar     = replace((today()) - [data modificacao Versão] ,'-0',0)

retorna assim:

Data VersãoDias sem Comunicar
04/11/20141
03/11/20140
04/11/20141
04/11/20140
04/11/20141
04/11/20140
28/10/20146
29/10/20145

Existem uma diferença no dia 28/10 e no dia 29/10.

e no dia continua igual

04/11/20141
04/11/20141
lmbaggio
Contributor II
Contributor II

Cara, tenta transformar essas datas em número pra fazer a 'comparação'

marcio150972
Creator
Creator
Author

Boa tarde Luciano, muito obrigado pela ajuda.

O arredondamento é sempre para baixo?  Sim, se der 0,12  é 0, se der 1,25 é 1

A conta que você colocou dá valores negativos. É para mostra sem sinal? e para ficar sem Sinal, como se fosse positivo, na verdade so preciso mostrar quantos dias esta sem fazer uma comunicação.


Comunicou hoje (14/11/2014) = 0

Comunicou ontem(03/11/2014)  = 1


Muito obrigado

lucianosv
Specialist
Specialist

O qvw serviu?