Como criar colunas calculadas com extend em KQL
O operador extend em KQL serve para adicionar colunas calculadas a uma tabela, a partir das colunas que já existem, sem alterar os dados de origem. É ideal para obter totais, percentagens, margens ou durações no momento da consulta, e é uma das primeiras competências que compensa dominar em Real-Time Analytics. A seguir tens um exemplo simples, pronto a copiar e executar, que mostra como criar estas colunas passo a passo.
Pré-requisitos
- Um ambiente KQL: um KQL Queryset no Microsoft Fabric, uma base de dados no Azure Data Explorer ou o cluster de ajuda público.
- Saber executar uma consulta simples, por exemplo filtrar linhas com o operador
where. - Nada para instalar: o exemplo cria os seus próprios dados.
Passo 1: Preparar dados de exemplo
Para não dependeres de nenhuma tabela existente, vamos criar dados de exemplo com o operador datatable. Cola e executa esta consulta no teu editor KQL:
let Vendas = datatable(Produto:string, Preco:real, Quantidade:int)
[
"Teclado", 25.0, 4,
"Rato", 15.0, 10,
"Monitor", 120.0, 2
];
Vendas
Deves ver três linhas com as colunas Produto, Preco e Quantidade. Vamos reutilizar esta tabela Vendas em todos os passos seguintes.
Passo 2: Criar a primeira coluna calculada
Agora vamos calcular o valor total de cada linha, ou seja o preço vezes a quantidade, e guardar o resultado numa coluna nova chamada Total. A sintaxe do extend é sempre a mesma: o nome da nova coluna, um sinal de igual e a expressão que a calcula.
let Vendas = datatable(Produto:string, Preco:real, Quantidade:int)
[
"Teclado", 25.0, 4,
"Rato", 15.0, 10,
"Monitor", 120.0, 2
];
Vendas
| extend Total = Preco * Quantidade
O resultado mantém as colunas originais e acrescenta a coluna Total no fim. Repara que a tabela Vendas não é alterada: o extend só afeta o resultado desta consulta, nunca os dados guardados.
Dica: usaextendquando queres acrescentar colunas. Se só precisas de escolher ou renomear colunas, o operador indicado é oproject.
Passo 3: Adicionar várias colunas de uma vez
Podes criar mais do que uma coluna no mesmo extend, separando as expressões por vírgulas. No exemplo seguinte juntamos o total com IVA e uma etiqueta de texto (mantém a linha let Vendas do Passo 1 no topo da consulta):
Vendas
| extend Total = Preco * Quantidade,
ComIVA = (Preco * Quantidade) * 1.23,
Origem = "loja online"
Cada linha passa a ter três colunas novas. Como vês, podes misturar cálculos numéricos com valores de texto entre aspas na mesma instrução.
Passo 4: Reutilizar a coluna calculada no pipeline
Uma grande vantagem do extend é que a coluna criada fica logo disponível nos passos seguintes. Por exemplo, podemos usar a nova coluna Total para filtrar apenas as vendas mais altas:
Vendas
| extend Total = Preco * Quantidade
| where Total > 120
Ficam apenas as linhas do Rato (150) e do Monitor (240); a linha do Teclado (100) é removida. Sem o extend, não conseguirias filtrar por um valor que ainda não existia na tabela original.
Verificar o resultado
Para confirmares que está tudo certo, verifica três coisas: as colunas novas aparecem à direita das originais; os valores de Total correspondem ao preço vezes a quantidade; e, no Passo 4, o resultado mostra apenas duas linhas. Se aparecer um erro do tipo "column not found", confirma que escreveste os nomes das colunas exatamente como na datatable, porque o KQL distingue maiúsculas de minúsculas.
Conclusão
Com o operador extend já consegues enriquecer qualquer consulta KQL com colunas calculadas, prontas a usar em filtros, ordenações ou gráficos. Um bom próximo passo é combinar o extend com o summarize para agregar essas novas colunas e criar indicadores. Qual seria a coluna calculada mais útil para os teus próprios dados?