Como selecionar colunas com project em KQL: exemplo
O operador project é uma das ferramentas mais usadas em KQL (Kusto Query Language) quando precisa de selecionar colunas: permite escolher exatamente que colunas aparecem no resultado, mudar a sua ordem e renomeá-las. Saber usar o project deixa as consultas mais limpas, mais fáceis de ler e mais rápidas, porque a consulta só transporta os dados de que realmente precisa.
Pré-requisitos
- Acesso a um ambiente com KQL: uma base de dados KQL ou Eventhouse no Microsoft Fabric, um cluster de Azure Data Explorer, ou o cluster de demonstração público help.
- Saber abrir o editor de consultas e correr uma query simples.
- Não precisa de dados próprios: os exemplos criam uma tabela de amostra com o operador datatable.
Passo 1: Criar dados de amostra com datatable
Para seguir os exemplos sem depender de nenhuma tabela existente, vamos criar uma pequena tabela de vendas diretamente na consulta, com o operador datatable. Copie este bloco para o editor e execute-o:
let Vendas = datatable(DataVenda:datetime, Produto:string, Regiao:string, Quantidade:int, PrecoUnitario:real)
[
datetime(2026-07-01), "Teclado", "Norte", 3, 25.0,
datetime(2026-07-01), "Rato", "Sul", 5, 12.5,
datetime(2026-07-02), "Monitor", "Norte", 2, 149.9,
datetime(2026-07-02), "Teclado", "Centro", 4, 25.0
];
Vendas
Ao correr, deve ver quatro linhas e cinco colunas. Esta tabela Vendas serve de base a todos os passos seguintes, por isso mantenha o bloco let no início da consulta.
Passo 2: Selecionar colunas com project
Numa tabela real há muitas vezes dezenas de colunas, mas normalmente só precisa de algumas. Com o project indica quais quer manter, e todas as outras são descartadas do resultado:
Vendas
| project Produto, Quantidade, PrecoUnitario
O resultado passa a ter apenas três colunas. Além de tornar a leitura mais fácil, transportar menos colunas reduz o volume de dados processado, o que ajuda no desempenho e no custo em tabelas grandes. Repare também que a ordem no resultado segue a ordem em que escreveu as colunas no project, e não a ordem original da tabela.
Passo 3: Reordenar e renomear colunas
Como é o project que define a ordem, basta trocar os nomes de posição para reordenar as colunas. Para renomear, use a sintaxe NovoNome = ColunaOriginal:
Vendas
| project Regiao, Produto, Unidades = Quantidade
Agora a coluna Regiao aparece primeiro e a Quantidade passa a chamar-se Unidades. Renomear é muito útil para dar títulos mais claros quando o resultado vai alimentar um relatório ou um dashboard.
Passo 4: Criar uma coluna calculada dentro do project
O project também aceita expressões, por isso pode calcular valores novos sem precisar de um extend separado. Por exemplo, o total de cada linha (quantidade a multiplicar pelo preço):
Vendas
| project Produto, Total = Quantidade * PrecoUnitario
O resultado mostra o Produto e uma nova coluna Total, calculada linha a linha.
Dica: use extend quando quer manter todas as colunas e apenas acrescentar mais uma; use project quando quer ficar só com um subconjunto de colunas. É esta a diferença essencial entre os dois operadores.
Passo 5: Remover ou renomear sem listar tudo
Quando só quer retirar uma ou duas colunas de uma tabela com muitas, listar todas as restantes no project dá trabalho e é propenso a erros. Nesse caso use o project-away, que remove apenas as colunas indicadas e mantém as outras:
Vendas
| project-away DataVenda
Existe também o project-keep, que faz o inverso: mantém apenas as colunas indicadas (aceitando padrões), útil quando quer guardar poucas de entre muitas. E para renomear sem mexer nas restantes colunas, use o project-rename:
Vendas
| project-rename Preco = PrecoUnitario
Assim mantém todas as colunas originais e muda apenas aquilo de que precisa.
Verificar o resultado
Corra cada exemplo no editor e confirme na grelha de resultados o número de colunas, os nomes e a ordem: devem corresponder exatamente ao que pediu no project. Uma boa forma de testar é comparar o resultado de Vendas (tabela completa) com o de Vendas | project Produto, Quantidade — no segundo caso deve ver menos colunas. Se uma coluna que esperava desapareceu, verifique se a incluiu na lista do project, já que tudo o que não for listado é removido.
Conclusão
Já sabe usar o project para selecionar, reordenar, renomear e calcular colunas, e ainda o project-away, o project-keep e o project-rename para ajustes rápidos. O passo natural seguinte é combinar o project com o where para filtrar linhas e com o summarize para agregar dados. Uma dica final de desempenho: coloque o project cedo no pipeline, logo a seguir aos filtros, para reduzir as colunas transportadas ao longo da consulta. Que colunas é que a sua próxima query pode deixar de transportar?