Fundo
Tenho um Power Query que combina várias planilhas do Excel com o mesmo nome de tabela no mesmo diretório em uma única tabela que usarei como dados de origem para uma tabela dinâmica. Ou pelo menos eu usei...
Problema
O problema é que houve uma revisão na tabela nomeada para alguns dos arquivos e uma nova coluna foi adicionada. Basicamente, é uma mistura de arquivos de dados que continuam mudando. Preciso adicionar essa coluna aos arquivos que estão faltando.
O que eu tentei
Passei um bom tempo pesquisando no Google e finalmente encontrei um vídeo no YouTube que entendo até certo ponto. Ele basicamente diz para adicionar uma IF
instrução que verifica se a coluna existe. Se existir, apenas retorne a tabela original. Caso contrário, adicione a coluna.
Meu código M está atualmente
let
Source = Excel.Workbook(Parameter1, null, true),
Forecast_Table_Table = Source{[Item="Forecast_Table",Kind="Table"]}[Data],
#"Added Custom1" = Table.AddColumn(Forecast_Table_Table, "Missing", each if Table.HasColumns(Navigation,"LOS") then Navigation else Table.Combine({Navigation, Table.FromRows({},{"LOS"})})),
#"Added Custom" = Table.AddColumn(#"Added Custom1", "Custom", each [Project No]&[Task No]&[Office]&[Staff]),
#"Filtered Rows" = Table.SelectRows(#"Added Custom", each [Custom] <> null and [Custom] <> ""),
#"Removed Columns" = Table.RemoveColumns(#"Filtered Rows",{"Custom"})
in
#"Removed Columns"
Foi aqui que tentei adicionar a instrução if como eles fizeram no vídeo
porém quando seleciono essa etapa, ele mostra esse erro:
Pergunta
Como posso corrigir minha IF
declaração para que ela adicione uma coluna chamada "LOS" se ela ainda não estiver lá?
Atualizar
Minha lista de etapas aplicadas é a seguinte e a etapa verde é onde adicionei a IF
declaração
Não tenho certeza do que você espera como saída, mas seu problema é que, embora sua Etapa Aplicada seja
Navigation
, esse não é realmente o nome da etapa anterior. (Pergunte à MS o porquê).No M-Code, adicione esta etapa: ( supondo que você queira uma coluna Named
LOS
com conteúdo vazio )Se você quiser algo mais nessa coluna, forneça um exemplo.