Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Substituir dois ou mais valores em uma única etapa do Power Query

Oi pessoal, tudo bem?

Estou tentando eliminar etapas no power query e preciso substituir dois valores em uma unica etapa. Necessito substituir o "-" por "", e "/" por "". Como posso executar esse passo?

2 respostas
solução!

Oi, Amanda! Como você está?

É possível criar uma coluna de exemplo. É um recurso bem legal do Power Query que entende a mudança que precisa ser feita na coluna e faz a linguagem M por baixo dos panos. Mas, pode ser que o trabalho de criar a coluna exemplo fique equiparado às duas etapas de substituição. Funciona assim:

Com a coluna em que as alterações precisam ser feitas selecionada, e na aba Adicionar coluna do Power Query, selecione a opção Adicionar coluna exemplo:

Recorte de tela do Power Query. Um retângulo azul ressalta que a aba selecionada é a adicionar coluna, e outro retângulo está ao redor do ícone coluna de exemplos. Abaixo, está uma coluna com seis caracteres numéricos, sendo divididos por vírgula e barra.

Na nova coluna que aparecer, preencha as primeiras linhas com o mesmo valor que está na linha correspondente da coluna original, mas já formatado. Quando o número de exemplos for suficiente, será sugerido um autocomplete. Se for a formatação desejada, é só clicar em OK e essa nova coluna será criada.

Recorte de captura de tela do Power Query. A coluna com os símbolos está à esquerda, e à direita está a coluna exemplo recém-criada. Nessa coluna da direita, as duas primeiras linhas estão preenchidas com os mesmo números da coluna principal, porém sem a vírgula e a barra. As linhas seguintes estão também preenchidas, mas em um tom cinza claro, indicando que foi completado automaticamente e ainda não foi aceito pelo usuário. Acima, há uma caixa informativa e um trecho de código em linguagem M, com a remoção dos caracteres especiais, está destacado

Outra possibilidade é adicionar a função text.replace no trecho de código M da sua tabela. Ficaria algo assim:

let
    Fonte = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjTQNzTQNTRQio0FAA==", BinaryEncoding.Base64), Compression.Deflate)), 
    let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Coluna 1" = _t]),
    SubstituirValores = Table.TransformColumns(Fonte, {{"Coluna 1", each Text.Replace(Text.Replace(_, "-", ""), "/", ""), type nullable text}})
in
    SubstituirValores

Espero que você encontre a melhor solução para seu projeto, Amanda!

Abração.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Uau que bacana, muito obrigada pela ajuda!