Página 1 de 1

Criar colunas em simultâneo Power Query

Enviado: 09 Jul 2021 às 07:54
por ANSERA21
Cumprimentos ao fórum,

Preciso adicionar várias colunas personalizadas a uma tabela já existente, e como são realmente muitas, gostaria de fazê-lo em uma única etapa.

Desta forma tenho duas colunas personalizadas com o seguinte cógigo:

= Table.AddColumn(Table.AddColumn(#"Tipo Alterado", "UN", each "UN"),"Personalizado", each if [Linha Produto] = 1 then 1.65 *[Último Preço Custo] else 2*[Último Preço Custo]).

Tenho sempre que adicionar a função Table.AddColumn para cada coluna ou tem outra forma mias simples e mais optimizada?

Desde já agradeço a vossa ajuda.

Re: Criar colunas em simultâneo Power Query

Enviado: 18 Ago 2021 às 09:03
por PietroFarias
De certa forma até dá para adicionar usando o List.Generate (criando um Loop). O problema está no terceiro parâmetro do Table.AddColumn onde você coloca cada função. Estas funções terão alguma lógica ou será uma função específica para cada coluna?

Se fosse eu, para procurar uma solução iria seguir pelo seguinte pensamento:
Você pode criar uma tabela com as colunas INDICE (Número da Linha), NomeColuna, Função e tipoColuna.
Esta tabela irá servir como guia para poder usar o List.Generate. desta forma a coluna INDICE iria servir para guiar o procedimento do List.Generate, a coluna NomeColuna é para adicionar o NOME da coluna que será adicionada, a coluna Função retornaria a função que seria incluída no terceiro parâmetro e a coluna tipoColuna seria um valor do tipo Type para retornar qual o tipo da coluna seria usada.

Ai vem a pergunta: PUTZ, isto funciona mesmo?? Não tenho ideia. De forma prática e simples não. Teria que ler a documentação M e procurar no pai Google para encontrar algo próximo a isso
Mas seria um ponto de partida que eu seguiria para poder fazer funcionar neste tipo. Mas teria que criar, ainda assim, diversas funções para cada registro.

É uma viagem, mas pode funcionar.