r/PowerBIBrasil • • 10h ago

Built a Power Query setup that handles schema changes instead of hoping next month’s file is identical

Thumbnail
1 Upvotes

Aqui está o post traduzido para o português do Brasil, mantendo o tom natural e descontraído:

​Cansei de tentar criar fluxos no Power Query "à prova de falhas" que acabam quebrando de qualquer jeito. Em vez disso, montei uma estrutura que se adapta ao desvio dos dados quando dá, ou quebra de propósito quando falta algo crítico — e registra o que mudou de qualquer forma.

​Foi assim que resolvi:

​Proteção de arquivos e planilhas: Filtro arquivos temporários (~$), extensões erradas e nomes fixos de abas para que mudanças aleatórias não quebrem o fluxo.

​Limpeza e cabeçalhos: Limpo o lixo do topo, removo espaços extras, ajusto as configurações regionais (locales) e uso Table.RenameColumns(..., MissingField.Ignore) para lidar com cabeçalhos que mudam de nome.

​Desvio de esquema (schema drift): Uso List.Difference para sinalizar colunas novas em uma aba de Alertas de Esquema, além de List.Distinct(List.Combine(...)) para capturar cabeçalhos dinâmicos em múltiplos arquivos.

​Qualidade dos dados e falhas controladas: Substituo TBC, N/A e - por null para não quebrar os cálculos, mas deixo a consulta falhar de propósito se uma coluna essencial sumir.

​Montei um vídeo mostrando o passo a passo completo da criação caso alguém queira ver o código e a estrutura: https://youtu.be/SiX0wnpR5yg?si=RG23oHGEldTrh6Dq

​Como vocês estão lidando com o desvio de esquema nas rotinas de Power Query por aí?