Neste artigo aprenderá como desabilitar a etapa de tipo alterado no power query de forma automática.
A Etapa automática Tipo Alterado no Power Query
É muito comum o Power Query definir automaticamente os tipos das colunas dos dados em tratamento. Isto é útil pois a tipagem dos dados é extremamente relevante para garantir que não tenhamos maiores problemas ao usar os dados tratados, sobremaneira com os cálculos.
Desta forma, o Power Query reconhece um eventual padrão nas colunas de acordo com o conteúdo dos dados, definindo os tipos das colunas como datas, textos, porcentagem, número etc. No entanto, muitas vezes esta definição dos tipos de dados das colunas é precoce e chega a atrapalhar o tratamento de dados.
Quando Ocorre?
Esta alteração automática pode ocorrer logo após a importação dos dados para o Power Query. A maior frequência da aplicação automática dos tipos de dados é neste momento, gerando uma etapa nomeada como “tipo alterado” que se torna a 2ª etapa de tratamento de dados da consulta.
Ela pode também ocorrer automaticamente após algumas etapas implementadas pelo usuário, como ao criarmos uma coluna personalizada, por exemplo.
O problema desta etapa automática
O Power Query é “benevolente”, mas as etapas automáticas de alteração de tipo podem ser prejudiciais e muitas vezes são, de fato.
Isso se justifica porque podem ocorrer precocemente ou em momentos desnecessários, visto que é recomendável tentar eliminar ao máximo as repetições de alteração de tipo, buscando, se possível, obter apenas uma ocorrência de alteração de tipo, preferencialmente na parte final da consulta.
A imagem a seguir, por exemplo, elenca muitas etapas de alteração de tipo automáticas e desnecessárias (destacadas em vermelho), sendo que a única etapa de alteração de tipo intencional por parte do usuário e realmente necessária é a última, destacada em azul.
Como Economizar Alterações de Tipo Alterado no Power Query
O domínio da linguagem M permite que muitas vezes não precisemos de alterar o tipo de dados de uma coluna para realizarmos uma etapa.
Um exemplo é a criação de uma coluna personalizada que insere zeros à esquerda de valores de uma certa coluna. Ao usarmos a função Text.PadStart precisamos dos dados tipados como texto para inserirmos zeros ao início. Esta função não consegue inserir zeros à esquerda casos os valores sejam números e, diferentemente do que se pensa, não precisamos necessariamente converter para texto a coluna destes valores a fim de usá-los como argumento de Text.PadStart.
Em vez disso, podemos usar a função Number.ToText aninhada, para primeiro converter os números para textos no próprio código em M da coluna personalizada em criação, como demonstra a imagem a seguir.
A coluna personalizada criada insere zeros à esquerda para que os valores do campo criado (Valor ajustado) tenham comprimento fixo de 5 caracteres. Note que a função Text.PadStart não possui os valores originais em seu primeiro argumento, o que resultaria em erro. Foi utilizada a função Number.ToText para converter os valores para texto, e, a partir daí, usá-los sem maiores problemas em Text.PadStart.
Como desabilitar a etapa automática
Acesse o editor do Power Query e em seguida as opções Arquivo > Opções e configurações > Opções de Consulta.
Em seguida, acesse as opções Carregamento de Dados > Nunca detectar tipos de colunas e de cabeçalhos de fontes não estruturadas.
Confirme em Ok, ao final.
Pronto! A partir daí a etapa automática de “tipo alterado” não será mais inserida.