Estou usando o Power Query no Excel para Microsoft 365.
Por favor, considere o seguinte código M Language:
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type of all to Text" = Table.TransformColumnTypes(Source,{{"A", type text}, {"B", type text}, {"C", type text}}),
#"Removed Unneeded Columns" = Table.RemoveColumns(#"Changed Type of all to Text",{"A"}),
...
in
#"Removed Duplicate Rows"
O problema que estou enfrentando é que a coluna A nem sempre está presente na tabela de origem. Se estiver presente, deve ser removido. No entanto, incluí-lo no código M Language induz um erro nas instâncias em que não está presente.
Como posso alterar meu código M Language para lidar efetivamente com o caso da coluna A estar presente e o caso da coluna A não estar presente?
Reafirmação do Problema Original
A solução
Como preliminar, observarei que, quando crio a consulta pela primeira vez clicando com o botão direito do mouse em uma célula da minha tabela de origem e selecionando
Get Data from Table/Range...
, duas etapas aplicadas são criadas automaticamente:A solução para o meu problema é a seguinte:
Choose Columns
etapa aplicada entre as etapasSource
eChanged Type
aplicadas e desmarque a coluna A se estiver presente (posso ou não estar trabalhando com uma instância da tabela de origem que contém a coluna A )Changed Type
etapa aplicada para remover o parâmetro correspondente à coluna A , se estiver presente (posso ou não estar trabalhando com uma instância da tabela de origem que contém a coluna A )A chave é não referenciar a coluna A no código M Language (porque um erro será lançado se for referenciado, mas não estiver presente). Portanto, em vez de selecionar explicitamente a coluna A para remoção, simplesmente não a selecione para inclusão.
Estruturar a consulta dessa maneira permite que ela seja aplicada a tabelas de origem que contêm ou não a coluna A . Funcionará em ambos os casos.