COF-C03 Study LabPráctica independiente de Snowflake
Performance Optimization, Querying, and Transformation

Agregaciones y window functions

Resume grupos de filas o calcula sobre una ventana sin perder el detalle de cada registro cuando el caso de uso lo necesita.

group by aggregate window function qualify partition by order by
Cobertura COF-C03 4.8

Agregaciones y window functions

GROUP BY, funciones de ventana, frames, QUALIFY y seleccion de la expresion analitica correcta.

Conceptos que debes poder reconocer y distinguir:

  • GROUP BY
  • Aggregate functions
  • OVER
  • PARTITION BY y ORDER BY
  • Window frames
  • Ranking functions
  • QUALIFY

Usa los enlaces oficiales de Snowflake de esta unidad para ampliar cada concepto y contrastar su comportamiento.

Las agregaciones reducen varias filas a una fila por grupo. Las window functions calculan sobre un conjunto relacionado de filas y mantienen el detalle original. La eleccion correcta depende de si el resultado debe conservar cada fila de entrada.

Expresion adecuada

Necesidad Tecnica Matiz
Una fila por cliente con total SUM con GROUP BY Se pierde el detalle de pedidos
Cada pedido con total del cliente SUM() OVER (PARTITION BY ...) Conserva todas las filas
Quedar con la ultima fila por entidad ROW_NUMBER() OVER (...) y QUALIFY Define orden determinista para empates
Acumulado temporal Window con ORDER BY y frame El frame determina que filas entran en cada calculo
Comparar con fila anterior LAG o LEAD Requiere un orden semantico claro

Reglas de lectura

  • PARTITION BY reinicia la ventana por grupo; ORDER BY define la secuencia analitica dentro de cada grupo.
  • El frame de ventana no es un detalle decorativo: cambia el conjunto de filas incluido en acumulados y promedios moviles.
  • QUALIFY filtra despues de que se calculen las window functions y evita una subconsulta para muchos patrones.
  • RANK, DENSE_RANK y ROW_NUMBER se diferencian en como tratan los empates; elige segun si necesitas huecos, mismo rango o una fila unica.