Olá, pessoal!

Tudo bem?

No post de hoje veremos como replicar valores no Power BI.

É muito comum alguns campos como CPF, CEP entre outros possurem o número zero na frente e, na hora do cadastro, a pessoa não informar o número corretamente.

O ideal é que a aplicação  sempre valide esse tipo de informação e, quando não é realizado, que seja tratado no banco de dados.

Porém, nem todo projeto de BI possui um banco de dados como fonte e, às vezes, esse tipo de tratamento precisa ser feito na própria ferramente de visualização.

Isso é necessário, pois, suponha que você irá realizar algum filtro por CPF e os dados não estão todos padronizados ou preenchidos corretamente… A sua busca não vai funcionar e pode induzir a uma análise errada.

Por isso, vamos ver como preencher com zeros a esquerda até completar onze posições, que é o tamanho padrão de um CPF.

Nesse modelo, eu criei uma tabela fake com algumas colunas, a saber:

CPF – Precisa possuir 11 posições preenchidas

CEP – Precisa possuir 8 posições

Nos casos listados acima, quando o tamanho do campo for menor, precisa preencher com zero a esquerda.

Antes de começarmos, é preciso ter em mente que campos numéricos não mantém o zero a esquerda, ou seja, será preciso, em algum momento, transformar os campos númericos em texto.

Falei com mais detalhes como fazer isso no post anterior.

Caso não esteja por dentro, vale uma lida clicando no link abaixo:

Post Anterior

Bora começar.

No Editor de Consultas, clique na aba Adicionar Coluna (Add Column) e, em seguinda, no botão Coluna Personalizada (Custom Column), conforme abaixo:

Vamos começar pelo CEP que já está no formato Texto.

No caso, utilizei a função Text.PadStart, passando três parâmetros para a mesma:

1 – O campo que pretendo replicar zeros no ínicio, no caso CEP;

2 – Quantas casas o campo precisa ter preenchido: oito. Note que não quer dizer quantos zeros vc tem que replicar, mas sim, quantas posições o campo precisa ter preenchido;

3 – Por último o zero com as aspas duplas “0” que é qual o valor que irei replicar caso não tenha oito posições preenchidas. O zero está entre aspas porque o campo é texto, logo, o valor a ser replicado, embora seja um número, precisa estar no formato de texto.

Vamos avaliar como ficou:

Agora, vamos verificar o campo CPF que está em formato numérico.

Nesse caso, vamos tratar isso direto no código, bem ao estilo raiz:

Antes de utilizar a função Text.PadStart, precisamos alterar o campo CPF para texto. Para isso, utilizamos a função Text.From que converteu o campo CPF em Texto. Por fim, com o campo tratado, passamos esse tratamento como o primeiro argumento da Text.PadStart.

É importante entender esse conceito de aninhamento de funções e campos para tratar corretamente as informações. No nosso caso, como o campo precisa ser texto, a primeira função a ser aplicada é que realiza essa transformação. Em seguida, aplica-se a outra que irá replicar o valor.

Abaixo, o resultado:

Agora, com o campo número, vamos criar um código fake, replicando letras com números.

Maaas, também vamos adicionar informações replicadas no fim do número.

Aqui é pra testar se você entendeu a lógica.

Ele deverá ficar nesse formato:

AAA10999

Vamos lá:

No centro, temos o campo efetivamente em uso, o campo número. Nele, já estamos utilizando a função para tratar de número para  texto.

Seguindo a lógica de aninhamento, o próximo utilizado foi o que tem a linha azul embaixo. Essa função está considerando que o campo possui duas posições e, se não houver preenchimento, coloca o zero a esquerda. Então, a linha  com o valor 8, ficaria 08 e o a linha com o valor 10, permanece 10.

O próximo é o código da linha verde, a qual está considerando que o campo possui 5 posições a ser preenchida e, quando não houver, preenche com o “A” à esquerda. Como o campo só tem 2 posições herdadas da função anterior, ele automaticamente colocará o AAA na frente de todos os valores;

Por fim, o código da linha jaranja. Aqui tem uma pegadinha: Notem que estou utilizando a função Text.PadEnd e não a Text.PadStart. Logo, ao invés de replicar o nove à esquerda, ele replica no fim, à direita.

Com isso, ele valida se o campo tem oito posições preenchidas, senão, replica o 9 no fim do campo.

Com isso, obtivemos o nosso código validado, conforme abaixo:

É isso pessoal.

Bacana as dicas de hoje, não?

Segue o link para download do arquivo pbix utilizado.

Download Pbix

Até a próxima.

Att.

Meirieli Ribeiro

Power BI – Replicando valores a esquerda e/ ou a direita
Classificado como:                

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *