terça-feira, 4 de outubro de 2016

Campo fórmula - Semana do ano

Hoje precisei criar um campo fórmula que me indicava se uma Oportunidade, no Salesforce, estava com data de fechamento para essa semana (semana atual). A forma mais fácil de fazer, ao meu ver, seria verificando se a semana (do ano), de fechamento era a mesma semana (do ano) da data atual. Após algumas pesquisas descobri que não há uma fórmula nativa no Salesforce que me desse a semana do ano. Então após algumas pesquisas cheguei nessa fórmula:


 MOD( FLOOR(( TODAY() - DATEVALUE("2006-01-01" )) / 7),52) + 1  

Essa fórmula me retorna a semana do ano, na data atual - TODAY(). Para retornar essa informação, ela diminui a data atual pela data de 01/01/2006 (ano em que o 1º dia do ano foi no domingo, porém poderia ser qualquer outro ano com essa característica) para retornar a quantidade de dias entre a data (01/01/2006) e a data atual. Em seguida divide por 7 (dias na semana) para calcular a quantidade de semanas no período. Por fim, pega o resto da divisão por 52 (que é a quantidade de semanas no ano). E esse resto mais 1 é exatamente a semana do ano.

Bem, na minha situação, criei uma fórmula, do tipo Caixa de seleção (boolean - verdadeiro ou falso), verificando se a semana da data de fechamento da Oportunidade no SFDC era a mesma da semana da data atual:


 (MOD(FLOOR( ( CloseDate - DATEVALUE("2006-01-01" ))/7),52) + 1 )   
 =   
 (MOD(FLOOR( ( TODAY() - DATEVALUE("2006-01-01" ))/7),52) + 1 )   

Outros anos que comecem no domingo, caso precise usar:

2012
2006
1995
1989
1984
1978
1967
1961
1956
1950
1939
1933
1928
1922
1911
1905

Bem, por hoje é apenas isso!