Power Query + Performance ao combinar arquivos csv

Você ainda importa pastas com arquivos CSV do jeito padrão no Power BI?
Então você está perdendo performance e seu código fica feio!

O que eu mudei? Apenas a forma de fazer com codigo personalizado!
Performance power quey

🛑 À esquerda, o método automático do Power Query:
– Ele gera várias consultas auxiliares desnecessárias (como “Transformar Arquivo de Exemplo”), além de depender de um arquivo de amostra para definir o esquema. Resultado?
🔻 Carregamento mais lento
🔻 Risco de erro quando os arquivos têm diferenças sutis entre si

À direita, o método customizado que uso em projetos reais:
Eu escrevo o código manualmente para:
– Eliminar dependências inúteis
– Forçar um padrão de leitura mais eficiente
– Padronizar o tratamento dos dados sem etapas ocultas
Bonusss o código que utilizei esta no final deste post

⏱️ Resultado? O tempo de carregamento caiu de 22 segundos para 12 segundos, apenas com essa melhoria de estrutura, sem fazer nenhum tratamento de dados estou apenas importando os arquivos!

🔧 Otimize seu Power Query. Escreva menos etapas. Entenda cada linha do seu código. Somente quem eh realmente PRO se preocupa com isso e faz uma melhoria continua em seus projetos.

🚀 No fim, o que importa é performance e confiabilidade. Em uma entrevista de emprego algo assim poderia diferencia um junior de um senior por exemplo.

☕ Quer um vídeo sobre esse case? Escreve Vídeo nos Comentários da postagem oficial no Linkedin Clique_Aqui

Código personalizado completo abaixo!
let
    // Lê os arquivos da pasta
    Source = Folder.Files("C:\Users\Marcio\Downloads\pasta_csv_acidentes"),

    // Filtra apenas arquivos .csv
    Filtro_Tipo_Arquivo = Table.SelectRows(Source, each [Extension] = ".csv"),

    // Adiciona coluna com conteúdo convertido em tabela
    AdicionaTabela = Table.AddColumn(Filtro_Tipo_Arquivo, "Tabela", each 
        Csv.Document(
            [Content],
            [
                Delimiter = ";",
                Columns = null,
                Encoding = 65001,
                QuoteStyle = QuoteStyle.Csv
            ]
        )
    ),

    // Expande as colunas das tabelas individuais
    TodasTabelas = Table.Combine(AdicionaTabela[Tabela]),

    // Promove cabeçalhos se a primeira linha for o cabeçalho
    ComCabecalho = Table.PromoteHeaders(TodasTabelas, [IgnoreErrors = true])

in
    ComCabecalho

Comments are closed.