Pular para o conteúdo
Lucas Lessa
Voltar para as notícias
Microsoft FabricPublic PreviewImpacto: Médio

Filtre resultados de funções de janela com a cláusula QUALIFY no Fabric

O Warehouse e o SQL analytics endpoint no Microsoft Fabric agora suportam a cláusula QUALIFY, facilitando a filtragem de resultados de funções de janela sem usar CTEs ou subconsultas.

O que mudou

A cláusula QUALIFY permite filtrar linhas com base em funções de janela ou analíticas diretamente, eliminando a necessidade de subconsultas ou CTEs para obter o resultado desejado.

Para que serve

Imagine que você precisa obter o produto mais caro de cada categoria em uma tabela de vendas, sem recorrer a estruturas aninhadas complexas.

  • Filtrar o top-N por grupo de forma direta.
  • Aplicar condições em médias móveis ou totais acumulados calculados por janelas.
  • Limitar resultados baseados em classificações (RANK ou ROW_NUMBER).

Como usar

Adicione a cláusula QUALIFY após o WHERE, GROUP BY e HAVING na sua instrução SQL.

SELECT *
FROM (VALUES ('Red',    'Road Bike',     1200.00 ),
             ('Red',    'City Bike',     800.00  ),
             ('Blue',   'Mountain Bike', 1500.00 ),
             ('Blue',   'Road Bike',     1100.00 )) AS
      Source ( Color,    Product,        Price   )
QUALIFY
        ROW_NUMBER() OVER (PARTITION BY Color ORDER BY Price DESC) = 1;

O que acontece nesse código:

  1. O valor da função ROW_NUMBER() é calculado para cada linha particionada pela cor do produto.
  2. As linhas são ordenadas decrescentemente pelo preço dentro de cada cor.
  3. A cláusula QUALIFY filtra o conjunto de dados para retornar apenas a linha com a primeira posição em cada partição.

Limitações e requisitos

  • Recurso em Preview.
  • Disponível no Warehouse e no SQL analytics endpoint no Microsoft Fabric.
  • A cláusula QUALIFY exige pelo menos uma função de janela no predicado ou nos aliases referenciados.
  • Não é compatível diretamente com comandos de UPDATE e DELETE.

Como aplicar num pipeline

Use o QUALIFY na camada Silver ou Gold para refinar datasets analíticos complexos de forma limpa antes de carregar tabelas finais para consumo de relatórios.

Ver nota oficial do Microsoft Fabric

Warehouse T-SQL enhancements (Preview)

Resumo e explicação gerados por IA a partir da release note oficial. Em caso de dúvida, a documentação oficial da plataforma prevalece.

Relacionadas