Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Período De trabalho

Estou usando essa expressão para mostrar a Permanência dos funcionário na empresa mostrando dias meses e anos.

Só que não esta batendo com a data atual do dia de hoje por exemplo. Com os exemplos abaixo nenhum bate certo.

Alguém poderia me ajudar?

3.JPG

=if( Round(floor((IF(ISNULL(DATA_EXCLUSAO_USUARIO), today(),DATA_EXCLUSAO_USUARIO) - date(date#(DATA_INCLUSAO_USUARIO,'DD/MM/YYYY')))/365))>0,

   Round(floor((IF(ISNULL(DATA_EXCLUSAO_USUARIO), today(),DATA_EXCLUSAO_USUARIO) - date(date#(DATA_INCLUSAO_USUARIO,'DD/MM/YYYY')))/365)) & ' Ano(s) ' )

&

if(Round(floor(Frac((IF(ISNULL(DATA_EXCLUSAO_USUARIO), today(),DATA_EXCLUSAO_USUARIO) - date(date#(DATA_INCLUSAO_USUARIO,'DD/MM/YYYY')))/365) *12))>0,

    Round(floor(Frac((IF(ISNULL(DATA_EXCLUSAO_USUARIO), today(),DATA_EXCLUSAO_USUARIO) - date(date#(DATA_INCLUSAO_USUARIO,'DD/MM/YYYY')))/365) *12)) & ' Mes(es) ')

&

if(Round(FLOOR(FRAC(Frac((IF(ISNULL(DATA_EXCLUSAO_USUARIO), today(),DATA_EXCLUSAO_USUARIO) - date(date#(DATA_INCLUSAO_USUARIO,'DD/MM/YYYY')))/365) *12)*24))>0,

Round(FLOOR(FRAC(Frac((IF(ISNULL(DATA_EXCLUSAO_USUARIO), today(),DATA_EXCLUSAO_USUARIO) - date(date#(DATA_INCLUSAO_USUARIO,'DD/MM/YYYY')))/365) *12)*24)) & ' Dia(s)' )

4 Replies
nicolett_yuri

Guilherme, da uma olhada nesse post: How Do I Get the Number of Months Between Two Dates?

eduardo_dimperio
Specialist II
Specialist II

Oi Guilherme,

Acho que seria mais facil voce utilizar os comandos Month, Day, Year pra poder fazer essas contas ao inves de utilizar divisão por 365.

If(Isnull(Data_Exclusao),Year(Today()) - Year(Data_Inclusao) ,Year(Data_Exclusao) - Year(Data_Inclusao) AS ANO

If(Isnull(Data_Exclusao),Month(Today()) - Month(Data_Inclusao) ,Month(Data_Exclusao) - Month(Data_Inclusao) AS MES

If(Isnull(Data_Exclusao),DAY(Today()) - DAY(Data_Inclusao) ,DAY(Data_Exclusao) - DAY(Data_Inclusao) AS ANO


Faça algumas validações tranquilas como no caso do dia e pronto

rafaugusto
Contributor III
Contributor III

Eu pensaria isso com interval, calculado no script e concatenado os campos na apresentação

Anonymous
Not applicable
Author

Obrigado pela solução, vou tentar agora.