Veja como tratar campos de CPF ou qualquer outro tipo, que esteja em sequência e sem o dígito separador.
ÍNDICE:
- INTRODUÇÃO
- CENÁRIO
- TRANSFORMAÇÃO COM PENTAHO
- CONCLUSÃO
- OLÁ!
- SIGA NAS REDES SOCIAIS!
- OBRIGADO! VOLTE SEMPRE!
INTRODUÇÃO
Estes dias recebi a seguinte dúvida no meu blog:
“Tenho uma coluna com 7 números e quero dividi-la em 2 colunas, uma com os 6 primeiros números e a outra somente com o último número. nesse caso não tem delimitador, como faço?”
Fiquei pensando em uma forma de resolver a questão e bem, cheguei em uma solução simples que pode ajudar e decidi documentar a questão aqui no blog.
CENÁRIO
“Suponha que na sua aplicação o cadastro do CPF não possua o separador para o dígito verificador e você e sua organização precisam tratar esse pequeno problema. Sabendo que o CPF possui 11 dígitos mais o separador.“
A solução que pensei foi a seguinte, acompanhe:
TRANSFORMAÇÃO COM PENTAHO
Primeiro passo foi criar um “data dummy” de exemplo para materializar o caso. Utilizando o step Data Grid, configurei da seguinte forma:
Criando os dados no possível formato do CPF.
Agora você vai precisar converter para o formato string, caso não esteja. Para isso, utilize o Select Values na aba de Metadata e transforme o campo em questão.
Configurado o novo formato do campo CPF, avançamos para a operação de separação dos caracteres.
A operação é dividida em dois passos:
- Separar os 9 primeiros dígitos do campo;
- Separar o dígito verificador do CPF.
Pensando nas opções que o Pentaho oferece, a que melhor se enquadrou nesta solução foi uma bem simples chamada String Cut.
Nela, crio dois campos, sendo o primeiro começando de 0 até o 9º dígito, e o segundo, do 9º até o final.
NOTA: Como a ferramenta é construída em JAVA, o string inicial possui o index 0. Muita atenção nesta questão.
Veja abaixo, como ficou a configuração do step String cut.
Utilizando o Preview Data para analisar o resultado, veja como ficou a transformação.
Como último passo da transformação, o que devemos fazer é juntar os campos. Para essa etapa, utilize o Concat Field passando o separador que desejar.
Transformação finalizada e campos devidamente tratados.
Ao final, toda o tratamento ficou da seguinte forma.
CONCLUSÃO
Essa foi a solução que encontrei para paliar o problema de forma temporária e manter o ETL funcionando.
Claro que existem formas mais elegantes e sofisticadas de solução, mas por falta de tempo, ficará para um outro post.
Para a semana, irei trazer uma solução para tratar CNPJ, caso se deparem com o mesmo problema, e documento aqui no blog.
Espero que possa ajudar! Obrigado!
Faça o download da transformação AQUI.
OLÁ!
Se chegou até aqui e gostou do pequeno tutorial, deixe seu like e compartilhe. Ajude o blog a alcançar mais pessoas!
Caso queira receber em primeira mão esse tipo de conteúdo, se inscreva abaixo: