Como mesclar colunas dinamicamente em uma tabela do Power Query

Neste tutorial, examinaremos uma questão interessante levantada no sobre como mesclar dinamicamente um número variável de colunas em uma tabela do Power Query. Você pode assistir ao vídeo completo deste tutorial na parte inferior deste blog.

Este cenário lida com exportações de dados brutos que fazem com que os dados se espalhem em um número desconhecido de colunas adjacentes. Ao observar o exemplo, você pode ver que a descrição se espalhou para a Coluna 4 e a Descrição 2 foi dividida em duas colunas adjacentes. Mas nem sempre será assim. No próximo ciclo, esse número de colunas pode mudar.

Como mesclar colunas dinamicamente em uma tabela do Power Query

Antes de entrarmos na solução, vamos examinar o código M que o Power Query gera quando você mescla colunas.

Índice

Código M da tabela Power Query

Há algumas maneiras de mesclar colunas. Uma delas é selecionar a coluna de descrição e pressionar a tecla shift ou a tecla de controle e, em seguida, selecionar a coluna 4 também. Em seguida, clique com o botão direito do mouse e escolha Mesclar colunas .

Como mesclar colunas dinamicamente em uma tabela do Power Query

Ou, na guia Transformar , selecione mesclar colunas . E esta caixa de diálogo aparecerá, o que permite que você selecione o separador.

Como mesclar colunas dinamicamente em uma tabela do Power Query

Na caixa pop-up, escolha Tab e você pode inserir um novo nome de coluna. Neste caso, dei-lhe o nome de Descrição.

Como mesclar colunas dinamicamente em uma tabela do Power Query

Na barra de fórmulas, vemos o código M que esta etapa de transformação criou.

Como mesclar colunas dinamicamente em uma tabela do Power Query

Se a barra de fórmulas não estiver visível na tela, vá para a guia Exibir e ative-a.

Como mesclar colunas dinamicamente em uma tabela do Power Query

Portanto, a função que o Power Query usa para mesclar colunas é Table.CombinedColumns . O primeiro parâmetro que leva é uma tabela. Essa tabela é retornada pela etapa anterior em nosso código, portanto, nas etapas aplicadas, você verá que isso é chamado de Source .

Em seguida, codificou os nomes das colunas em uma lista. Aqui você vê os inicializadores de lista e entre os valores de texto, a descrição do nome da coluna e a coluna 4 do nome da coluna. Em seguida, ele chama outra função M para combinar os valores de texto nessas colunas.

Como mesclar colunas dinamicamente em uma tabela do Power Query

E, finalmente, passa o nome da nova coluna como um texto para que possamos ajustá-lo.

Como mesclar colunas dinamicamente em uma tabela do Power Query

Portanto, se quisermos que essa função mescle dinamicamente um número variável de colunas, teremos que alterar o segundo valor de parâmetro que agora contém uma lista de nomes de coluna codificados permanentemente.

Mesclando um número variável de colunas em uma tabela do Power Query

Voltarei à minha consulta de dados brutos e, se examinarmos mais de perto os nomes das colunas, veremos que cada uma das colunas de derramamento é anônima. Eles não têm nomes próprios, mas todos começam com a coluna de texto, seguida de um número. Vamos ver se podemos usar isso. Primeiro, criarei uma referência clicando com o botão direito do mouse aqui e selecionando Referência .

Como mesclar colunas dinamicamente em uma tabela do Power Query

E para obter os nomes das colunas dentro da barra de fórmulas, posso adicionar Table.ColumnNames . Esta função retorna uma lista com todos os nomes das colunas dessa tabela. Vamos transformar isso novamente em uma mesa clicando em To Table .

Como mesclar colunas dinamicamente em uma tabela do Power Query

Nesta caixa pop-up, clique em OK.

Como mesclar colunas dinamicamente em uma tabela do Power Query

Em seguida, na guia Adicionar coluna , selecionarei Formatar e, em seguida, Cortar .

Como mesclar colunas dinamicamente em uma tabela do Power Query

Agora, esta não é uma transformação que desejo realizar, mas gera a maior parte do código M para mim. Tudo o que tenho a fazer é substituir essa função de compensação pela minha própria lógica .

Como mesclar colunas dinamicamente em uma tabela do Power Query

Portanto, dentro da barra de fórmulas, em vez de Text.Trim , podemos dizer se Text.StartsWith , e apontá-lo para nossa Coluna 1 , e eu o copiarei imediatamente. Ele quer aquele texto que estamos procurando, então será Column. Portanto, se começar com uma coluna de texto, queremos "nulo" - para todo o resto, queremos o que estiver na Coluna 1. Também podemos renomear essa coluna, portanto, dentro da barra de fórmulas, em vez de Trim, vamos chamá-la de GroupColumn .

Como mesclar colunas dinamicamente em uma tabela do Power Query

Agora, tudo o que precisamos fazer é preenchê-los com esses valores. Então, clicarei com o botão direito do mouse em meu cabeçalho, selecionarei Preenchimento e Abaixo .

Como mesclar colunas dinamicamente em uma tabela do Power Query

Portanto, na próxima vez que os dados chegarem e esse número de colunas for alterado, esse grupo os selecionará automaticamente.

Como mesclar colunas dinamicamente em uma tabela do Power Query

Vamos renomear esta consulta, vou chamá-la de grupos de colunas.

Como mesclar colunas dinamicamente em uma tabela do Power Query

Vamos nos certificar de que sua carga foi desativada porque esta é apenas uma consulta de suporte.

Como mesclar colunas dinamicamente em uma tabela do Power Query

Posso fazer referência a essa consulta de suporte e renomeá-la mais tarde. Vamos deixar isso por enquanto. Portanto, se você se lembra, começamos mesclando duas colunas e isso criou uma lista codificada com os nomes das colunas , mas agora podemos filtrar por Description em nosso GroupColumn .

Como mesclar colunas dinamicamente em uma tabela do Power Query

Portanto, se fizermos esse filtro na Descrição dentro da Coluna 1, obteremos as colunas que atendem a esse critério.

Como mesclar colunas dinamicamente em uma tabela do Power Query

No entanto, esta é uma tabela e não uma lista. Precisamos extrair o que resta na primeira coluna porque precisamos incluir essas colunas em nossa operação de mesclagem. Para fazer isso, podemos clicar com o botão direito do mouse no cabeçalho da Coluna 1 e selecionar Drill Down .

Como mesclar colunas dinamicamente em uma tabela do Power Query

E agora temos uma lista. Então, vamos dar a esta consulta um nome apropriado ( ListDescr ) e vamos verificar se ela está desativada do carregamento.

Como mesclar colunas dinamicamente em uma tabela do Power Query

Agora podemos voltar para nossa consulta Result e substituir esse segundo argumento aqui por nossa lista dinâmica. Então, aqui, podemos referenciar nosso ListDescr .

Como mesclar colunas dinamicamente em uma tabela do Power Query

Vamos repetir isso para a Descrição 2 também. Vou para minha consulta ColumnGroups. Vou criar outra referência e selecionar as colunas que preciso. Em seguida, filtrarei a Descrição 2, que retornará essas três colunas. Vou clicar com o botão direito do mouse em meu cabeçalho e selecionar Drill Down e renomear esta consulta também ( ListDescr2 ).

Em seguida, voltarei para minha consulta de resultado, selecionarei a coluna Description2 e pressionarei shift ou control para selecionar a próxima coluna também (coluna2). Clicarei com o botão direito do mouse no cabeçalho e escolherei Mesclar colunas .

Como mesclar colunas dinamicamente em uma tabela do Power Query

Na caixa pop-up, escolherei Tab como Separador e o chamarei de Description2.

Como mesclar colunas dinamicamente em uma tabela do Power Query

Vou apenas mudar o nome da coluna aqui na barra de fórmulas. Também alterarei essa lista codificada da lista que acabamos de criar. E agora, como você pode ver, isso também pegou a coluna 8 que excluímos anteriormente.

Como mesclar colunas dinamicamente em uma tabela do Power Query


Como mesclar consultas no LuckyTemplates
Parâmetros de consulta do LuckyTemplates: Otimizando tabelas
Classificando colunas da tabela de datas no LuckyTemplates

Conclusão

Neste blog, mostrei como usar códigos M no Power Query para mesclar colunas dinamicamente. Não é difícil, desde que você esteja familiarizado com o funcionamento do Power Query e quais códigos M usar.

Espero que você tenha gostado deste. Confira os links abaixo para mais conteúdo relacionado.

Tudo de bom!

melissa

Leave a Comment

Colunas calculadas no SharePoint | Uma visão geral

Colunas calculadas no SharePoint | Uma visão geral

Descubra a importância das colunas calculadas no SharePoint e como elas podem realizar cálculos automáticos e obtenção de dados em suas listas.

Atributos pré-atentivos: como isso pode afetar seu relatório

Atributos pré-atentivos: como isso pode afetar seu relatório

Descubra todos os atributos pré-atentivos e saiba como isso pode impactar significativamente seu relatório do LuckyTemplates

Calcular Dias de Estoque Zero – LuckyTemplates Inventory Management Insights

Calcular Dias de Estoque Zero – LuckyTemplates Inventory Management Insights

Aprenda a contar o número total de dias em que você não tinha estoque por meio dessa técnica eficaz de gerenciamento de inventário do LuckyTemplates.

Usando exibições de gerenciamento dinâmico (DMV) no DAX Studio

Usando exibições de gerenciamento dinâmico (DMV) no DAX Studio

Saiba mais sobre as exibições de gerenciamento dinâmico (DMV) no DAX Studio e como usá-las para carregar conjuntos de dados diretamente no LuckyTemplates.

Variáveis ​​e expressões dentro do editor do Power Query

Variáveis ​​e expressões dentro do editor do Power Query

Este tutorial irá discutir sobre Variáveis e Expressões dentro do Editor do Power Query, destacando a importância de variáveis M e sua sintaxe.

Como calcular a diferença em dias entre compras usando o DAX no LuckyTemplates

Como calcular a diferença em dias entre compras usando o DAX no LuckyTemplates

Aprenda a calcular a diferença em dias entre compras usando DAX no LuckyTemplates com este guia completo.

Calculando a média no LuckyTemplates: isolando os resultados do dia da semana ou do fim de semana usando o DAX

Calculando a média no LuckyTemplates: isolando os resultados do dia da semana ou do fim de semana usando o DAX

Calcular uma média no LuckyTemplates envolve técnicas DAX para obter dados precisos em relatórios de negócios.

O que é self em Python: exemplos do mundo real

O que é self em Python: exemplos do mundo real

O que é self em Python: exemplos do mundo real

Como salvar e carregar um arquivo RDS em R

Como salvar e carregar um arquivo RDS em R

Você aprenderá como salvar e carregar objetos de um arquivo .rds no R. Este blog também abordará como importar objetos do R para o LuckyTemplates.

Primeiros N dias úteis revisitados - uma solução de linguagem de codificação DAX

Primeiros N dias úteis revisitados - uma solução de linguagem de codificação DAX

Neste tutorial de linguagem de codificação DAX, aprenda como usar a função GENERATE e como alterar um título de medida dinamicamente.