Consulta de referência no Power Query: organize etapas
Uma consulta de referência no Power Query ajuda a reutilizar uma preparação comum em diferentes saídas. O benefício aparece quando a mesma regra precisa chegar a vários resultados sem ser copiada manualmente. Para isso, a base compartilhada deve conter somente etapas que realmente pertencem ao contrato de todas as consultas consumidoras.
Este roteiro usa movimentos de vendas hipotéticos para criar duas saídas: detalhe de um canal e resumo por canal. A proposta é organizar dependências, conferir os resultados e observar o comportamento da atualização, sem presumir que compartilhar etapas elimina todas as leituras adicionais da origem.
1. Defina a base da consulta de referência no Power Query
Liste as regras comuns antes de criar dependências: identificação da origem, nomes de colunas, tipos e tratamentos aprovados para todos os consumidores. Se somente uma saída exclui determinado canal, mantenha essa seleção na consulta específica. Um filtro colocado cedo demais pode retirar dados necessários para outro resultado sem chamar atenção na página final.
Descreva o contrato da base com colunas, granularidade e alcance temporal. Quem reutiliza a consulta precisa saber se recebe movimentos completos, registros já validados ou um resumo. Nomes como BaseMovimentos e ResumoCanal ajudam, mas não substituem uma descrição objetiva do conteúdo que cada etapa efetivamente entrega.
2. Escolha entre referência e cópia pela manutenção desejada
A documentação do painel Consultas descreve Duplicar como cópia da consulta e Referência como uma nova consulta apoiada na anterior. Alterações na consulta original chegam às referências. Essa diferença importa quando a equipe quer centralizar uma regra e compreender quais resultados dependem dela.
No editor, abra o menu de contexto da base e escolha Referência, depois renomeie a nova consulta pela finalidade da saída. Uma cópia pode ser útil para um experimento independente de transformação, mas exige outro controle de manutenção. Decida isso antes de criar várias versões quase iguais que passam a evoluir sem uma definição compartilhada.
3. Monte uma base hipotética com resultado conhecido
Crie uma consulta chamada BaseMovimentos e utilize o exemplo abaixo na linguagem M, que descreve as transformações do Power Query. A tabela contém três movimentos, com identificador, canal e valor. Ela permite conferir as dependências sem depender de credenciais, caminhos ou particularidades de um arquivo externo durante o primeiro teste.
let
Fonte = #table(
type table [
PedidoID = text, Canal = text, Valor = number
],
{
{"P1", "Loja", 100},
{"P2", "Web", 200},
{"P3", "Loja", 50}
}
)
in
Fonte
Espere três linhas e valor total de trezentos e cinquenta. Confirme os identificadores antes de continuar. No ambiente real, a etapa de origem será diferente, mas os testes devem conservar um gabarito independente: quantidade, campos obrigatórios e valores conhecidos que permitam verificar se a preparação comum ainda entrega o conteúdo combinado.
4. Crie saídas com responsabilidades distintas
Em uma referência chamada VendasLoja, mantenha somente o canal Loja. A função Table.SelectRows retorna linhas que atendem à condição definida. No exemplo, a saída deve preservar P1 e P3, com valor total de cento e cinquenta, sem alterar o conteúdo de BaseMovimentos.
let
Fonte = BaseMovimentos,
Resultado = Table.SelectRows(
Fonte, each [Canal] = "Loja"
)
in
Resultado
Crie outra referência chamada ResumoCanal para consolidar a base completa. Table.Group organiza grupos e List.Sum soma os valores. Espere Loja com cento e cinquenta e Web com duzentos, demonstrando que o filtro específico da primeira referência não foi aplicado à segunda.
let
Fonte = BaseMovimentos,
Resultado = Table.Group(
Fonte,
{"Canal"},
{{"Receita", each List.Sum([Valor]), type number}}
)
in
Resultado
5. Faça uma alteração comum e confira as duas saídas
Em uma cópia do modelo de teste, altere o valor de P1 de cem para cento e dez. A base passa a totalizar trezentos e sessenta, VendasLoja passa a cento e sessenta e o resumo mostra Loja com cento e sessenta. Web permanece em duzentos, conforme o contrato do exemplo.
Essa conferência demonstra o alcance esperado da mudança. Depois, acrescente um filtro somente em VendasLoja e confirme que ResumoCanal continua usando toda a base. Se o resultado mudar em lugares não previstos, revise a dependência e a posição do filtro antes de interpretar a diferença como alteração nos dados de origem.
6. Decida quais saídas precisam ser carregadas
A Microsoft explica, nas orientações de criação de relatórios, que uma consulta pode continuar disponível para outras consultas mesmo com Habilitar carga desmarcado. Revise essa configuração para bases intermediárias que não precisam aparecer como tabelas adicionais no modelo final.
Carregue apenas o que atende ao desenho aprovado do modelo e confira suas medidas. Detalhe e resumo representam níveis diferentes; somá-los como se fossem movimentos adicionais duplicaria informação. No exemplo, o resumo por canal descreve os mesmos trezentos e cinquenta da base inicial, e não uma nova receita que deva ser acrescentada ao detalhe.
7. Mantenha filtros e parâmetros com alcance documentado
Se a origem utiliza um parâmetro, registre quais referências dependem dele. Uma troca de caminho na base pode alterar todas as saídas ao mesmo tempo. O roteiro de parâmetros do Power Query ajuda a organizar a configuração e os testes necessários para confirmar a origem efetivamente carregada.
Para vários arquivos, confira também o escopo de inclusão antes de compartilhar a preparação. A análise de combinação de arquivos aprofunda o contrato de consolidação. Se uma referência precisa de outro histórico ou outro conjunto de colunas, revise o desenho em vez de assumir que qualquer base comum atende a todas as finalidades.
8. Avalie o acesso à fonte durante a atualização
A orientação sobre consultas referenciadas alerta que consultas consumidoras podem ser executadas separadamente, com novas avaliações dos passos compartilhados. Portanto, referência não garante uma única leitura da fonte. Avalie o comportamento da atualização no ambiente real, especialmente quando a origem tem custo ou limite de acesso.
A mesma orientação explica que Table.Buffer não cria um resultado compartilhado entre execuções de consultas diferentes. Evite aplicá-lo como solução automática para todas as referências. Registre o tempo de carga e observe os acessos com ferramentas disponíveis no ambiente antes de decidir se o desenho precisa de uma camada de dados persistida e administrada.
9. Preserve granularidade, nomes e esquema de saída
Ao alterar a base, confira colunas removidas, renomeadas e tipos modificados. Uma referência pode depender de um campo que não aparece no relatório atual, mas participa de uma etapa intermediária. Mantenha a relação de consumidores para identificar quais saídas precisam ser testadas e quem deve aprovar uma mudança de contrato.
O roteiro de agrupamento no Power Query ajuda a revisar a granularidade dos resumos. Antes de substituir o detalhe por uma tabela menor, confirme quais perguntas deixariam de ser respondidas. Uma saída agregada pode ser adequada para um painel e insuficiente para investigar documentos individuais na mesma rotina de análise.
10. Libere a estrutura com testes de dependência
Teste mudança na base, filtro específico, coluna ausente e origem sem movimentos. Confira o esquema esperado por cada consumidor mesmo quando não há linhas. Para revisar onde as transformações são executadas, consulte query folding, mantendo separadas a correção do resultado e a eficiência observada na atualização.
Documente base, consumidores, regras comuns e responsáveis pela manutenção. A estrutura fica mais útil quando outra pessoa consegue prever o impacto de uma alteração e reproduzir a conferência com casos conhecidos. Compartilhar etapas deve reduzir divergências de lógica, enquanto os testes demonstram se cada saída continua atendendo à sua finalidade após a mudança.
Documentação técnica da Microsoft consultada em 19/10/2026.
