P A T H

Calculando o último dia do mês

O que você vai aprender?

Quem trabalha com transformação e limpeza de dados certamente já precisou da informação do último dia do mês. Embora muito comum, nem sempre encontramos uma função que faça isso automaticamente. Cabe a nós escrevermos uma fórmula que implemente esta funcionalidade.


Nessa dica, vamos mostrar passo a passo como criar essa fórmula no Alteryx.

INTRODUÇÃO

Para simularmos a função Último Dia, vamos usar apenas uma ferramenta, a Formula Tool. Criaremos um campo calculado para cada passo do processo, e no final colocaremos toda a implementação em um único campo.

Vamos partir da premissa que o campo que armazena a data que queremos saber o último dia do mês está no formato DATE. O nome do nosso campo de exemplo é DataPagamento, que foi preenchido com a data 15/09/2020.

Passo 1: Identificar o ano da data

O primeiro passo é extrair o ano da data em questão. Para isso, vamos criar um campo calculado de nome AnoPagamento, e usar a função DateTimeYear para recuperar o ano da data.

Precisamos que este campo seja uma cadeia de caracteres. Como a função DateTimeYear retorna um inteiro, usaremos a função ToString para fazer a conversão.

Lembre-se também de trocar o Tipo de Dado na fórmula para V_String.

Passo 2: Identificar o mês da data

De forma semelhante, vamos recuperar o Mês da Data, desta vez com a função DateTimeMonth.

Novamente, lembre-se de alterar o formato do campo para V_String.

Passo 3: Formatando o mês para o formato MM

O mês da data traz um complicador, porque a saída desejada precisa estar no formado MM (dois dígitos, com zeros à esquerda, para os meses de 1 a 9).

Criaremos um novo campo calculado de mês, concatenando a constante “00” ao mês e depois extrair somente os 2 caracteres à direita.

Passo 4: O primeiro dia do mês

Com o ano e o mês em mãos, o próximo passo é criar um campo que retorne o primeiro dia do mês (sim, o primeiro). Este passo é necessário porque nem todos os meses terminam no mesmo dia, mas todos começam no dia 1.

Vamos apenas concatenar as informações de ANO, MÊS e a constante “01” para criar um novo campo, de nome PrimeiroDiaMes.

Usaremos a função ToDate para que este campo seja do tipo Date. Troque o tipo de dado para Date na fórmula.

Passo 5: Adicione um mês à data calculada

Estamos na etapa final. Para que a data calculada reflita o último dia do mês, vamos usar a estratégia de somar um mês à data, e em seguida, subtrair um dia.

Estes dois passos podem ser feitos na mesma fórmula, mas neste tutorial vamos separar em 2 ações distintas. Use a função DateTimeAdd para somar 1 mês.

Passo 6: Subtraia um dia da data calculada

Finalmente, subtraia um dia da data calculada no passo anterior, e você terá o último dia do mês, dada uma data específica.

Bônus: Calculando a Data de uma única vez

Agora que você já entendeu como funciona, pode implementar a fórmula em um único campo, uma vez que o Alteryx permite aninhar funções. A fórmula fica mais complexa de interpretar, mas o resultado é o mesmo.

Não há ganho de performance quando se utiliza apenas 1 fórmula. Avalie a questão de interpretabilidade antes de decidir pela implementação única.

Se esta fórmula for usada constantemente, você pode salvá-la clicando no botão correspondente para uso futuro. Também pode criar uma ferramenta específica para isso usando macros. Não sabe como?Veja esta dica aqui.

08 de dezembro de 2020

Pronto, você aprendeu a calcular o último dia do mês de uma data.

Language