Salvando o histórico de atualização de consulta do Power Query

Em quase todos os treinamentos de Power Query, quando chegamos a como atualizar as consultas criadas e as pessoas veem como os novos dados substituem os dados antigos ao atualizar, um dos ouvintes me pergunta: “é possível ter certeza de que, ao atualizar, os dados antigos são também em algum lugar foram salvos e todo o histórico de atualizações estava visível?

A ideia não é nova e a resposta padrão para ela será “não” – o Power Query é configurado por padrão para substituir dados antigos por novos (o que é necessário na grande maioria dos casos). No entanto, se você realmente quiser, poderá contornar essa limitação. E o método, como você verá mais adiante, é muito simples.

Considere o seguinte exemplo.

Vamos supor que temos um arquivo do cliente como dado de entrada (vamos chamá-lo, digamos, fonte) com uma lista de produtos que ele deseja comprar na forma de uma tabela dinâmica “inteligente” chamada Aplicação:

Salvando o histórico de atualização de consulta do Power Query

Em outro arquivo (vamos chamá-lo por analogia recebedor) criamos uma consulta simples para importar uma tabela com produtos do Source via Dados – Obter dados – Do arquivo – Da pasta de trabalho do Excel (Dados — Obter dados — Do arquivo — Da pasta de trabalho do Excel) e faça o upload da tabela resultante para a planilha:

Salvando o histórico de atualização de consulta do Power Query

Se no futuro o cliente decidir fazer alterações no pedido em seu arquivo fonte, depois de atualizar nossa solicitação (clicando com o botão direito do mouse ou via Dados - Atualizar tudo) veremos os novos dados no arquivo recebedor — todos padrão.

Agora vamos garantir que, ao atualizar, os dados antigos não sejam substituídos por novos, mas os novos sejam anexados aos antigos – e com a adição de uma data-hora, para que possa ser visto quando essas alterações específicas foram feito.

Etapa 1. Adicionando uma data e hora à consulta original

Vamos abrir um pedido Aplicaçãoimportando nossos dados de fontee adicione uma coluna com a data e hora da atualização. Para fazer isso, você pode usar o botão Coluna personalizada aba Adicionando uma coluna (Adicionar coluna — coluna personalizada)e, em seguida, insira a função DateTime.LocalNow – análogo da função O TDATA (AGORA) • Microsoft Excel:

Salvando o histórico de atualização de consulta do Power Query

Depois de clicar em OK você deve terminar com uma coluna bonita como esta (não se esqueça de definir o formato de data e hora para ela com o ícone no cabeçalho da coluna):

Salvando o histórico de atualização de consulta do Power Query

Se você quiser, então para a placa carregada na planilha para esta coluna, você pode definir o formato de data e hora com segundos para maior precisão (você terá que adicionar dois pontos e “ss” ao formato padrão):

Salvando o histórico de atualização de consulta do Power Query

Etapa 2: consultar dados antigos

Agora vamos criar outra consulta que funcionará como um buffer que salva os dados antigos antes de atualizar. Selecionando qualquer célula da tabela resultante no arquivo recebedor, selecione na guia Data Command Da tabela/intervalo (Dados — Da tabela/intervalo) or Com folhas (Da folha):

Salvando o histórico de atualização de consulta do Power Query

Não fazemos nada com a tabela carregada no Power Query, chamamos a consulta, por exemplo, dados antigos e imprensa Home — Fechar e carregar — Fechar e carregar para… — Criar apenas conexão (Home — Close&Load — Close&Load to… — Só cria conexão).

Etapa 3. Juntando dados antigos e novos

Agora, de volta à nossa consulta original Aplicação e adicione abaixo os dados antigos da solicitação de buffer anterior com o comando Página inicial — Adicionar solicitações (Página inicial — Anexar consultas):

Salvando o histórico de atualização de consulta do Power Query

Isso é tudo!

Resta retornar ao Excel através Home — Fechar e baixar (Início - Fechar e Carregar) e tente algumas vezes atualizar toda a nossa estrutura com o botão Atualizar tudo aba Data (Dados — Atualizar tudo). A cada atualização, os novos dados não substituirão os dados antigos, mas os enviarão abaixo, mantendo todo o histórico de atualizações:

Salvando o histórico de atualização de consulta do Power Query

Um truque semelhante pode ser usado ao importar de qualquer fonte externa (sites da Internet, bancos de dados, arquivos externos, etc.)

  • Tabela dinâmica em vários intervalos de dados
  • Montando tabelas de arquivos diferentes usando o Power Query
  • Coletando dados de todas as folhas do livro em uma tabela

Deixe um comentário