Tempos de carregamento do Excel Power Query - Por que as consultas dependentes recarregam os dados do arquivo CSV?

Tempos de carregamento do Excel Power Query - Por que as consultas dependentes recarregam os dados do arquivo CSV?

Tenho uma série de consultas no Excel que dependem de uma consulta inicial que carrega dados de arquivos CSV, os processa e os carrega em uma tabela na planilha. Todas as consultas restantes usam tabelas de planilhas como fonte e não utilizam fontes de dados externas.

Quando eu os recarrego individualmente, eles parecem demorar mais do que deveriam e parecem estar acessando os próprios arquivos CSV.

Tenho todas as configurações globais e de dados de consulta para otimizar o carregamento (carregamento rápido, desligar o plano de fundo, etc.) com base em algumas pesquisas na Internet e o carregamento/processamento da consulta original é aceitável, dada a quantidade de dados. Parece que, uma vez que eu tenha os dados processados ​​em uma tabela na pasta de trabalho, as consultas dessa tabela e de outras não exigiriam o retorno aos arquivos da fonte de dados.

Só estou me perguntando se estou faltando alguma coisa aqui. Obrigado!

Responder1

Quando uma consulta faz referência a outra consulta como uma Origem (ou em uma etapa Mesclar ou Anexar), toda a lógica da consulta de Origem será executada sempre que a consulta de referência for atualizada. Se você tiver 5 consultas referenciando a mesma consulta de origem, a lógica da consulta de origem será executada 5 vezes, em paralelo (por padrão). É obviamente ineficiente.

Em um cenário do Excel, o padrão para evitar essa ineficiência é definir a consulta Fonte comoCarregar parauma tabela Excel. Em seguida, as consultas de referência podem ser apontadas para essa tabela do Excel como sua fonte.

Isso deixa você com o desafio de coordenar as atualizações, pois pressionar o botão Atualizar tudo corre o risco de resultados inconsistentes. Normalmente eu mitigo isso usando grupos de consulta ou gravando uma macro de atualização.

Responder2

Obrigado Mike. Você parece estar correto, embora a atualização de uma consulta dependente pareça atualizar a consulta pai (conforme confirmado pelas mensagens sobre quais arquivos CSV ela está acessando) um pouco mais rápido do que atualizar a consulta pai diretamente.

Resolvi o problema da maneira que você sugeriu. Em vez de usar o botão "Gerenciar/Referência" na barra de ferramentas do Power Query Editor que gera

Fonte = #"consulta pai"

Eu uso o editor Get Data->Table/Range ou M para obter dados da tabela da consulta pai

Fonte = Excel.CurrentWorkbook(){[Nome="nome da tabela de consulta pai"]}[Conteúdo]

Agora carrega instantaneamente. Como estou na fase de desenvolvimento do meu projeto, gerenciar atualizações não é um problema. Descobrirei um sistema quando terminar.

Obrigado!

informação relacionada