Creación de ventanas

Las funciones analíticas analizan una ventana de datos. Una ventana es una selección de filas especificada por el usuario (o una partición lógica de una consulta que determina el conjunto de filas) utilizada para hacer ciertos cálculos para la fila actual. Utilizando la representación parcial, puede determinar la clasificación de valores o el movimiento de promedios y sumas.

Una ventana tiene tres componentes:
Particionamiento de ventana
Agrupa todas las filas que tienen valores de columna de partición que son iguales a los valores de la fila especificada. El sistema devuelve cada fila de una partición que tiene un valor igual en el conjunto de filas específicas de una tabla, en lugar de contraerlas en una única fila representativa como es el caso de las funciones de agregado agrupadas.
Orden de ventana
Se utiliza para ordenar las filas dentro de cada partición. Como todas las filas de una partición tienen valores iguales en sus columnas de particionamiento, normalmente puede ordenar las filas por valores en otras columnas.
Enmarcación de ventana
Define el tamaño de la ventana dentro de una partición de ventana. Puede expresarlo en términos físicos (el número de filas) o en términos lógicos (un rango de valores). La enmarcación de ventana también se denomina agrupación de agregación de ventanas.

La enmarcación se puede basar en filas o en rangos. La enmarcación puede especificar puntos finales de marcos flotantes o anclados. Si el marco está anclado, puede especificar el precedente ilimitado o el siguiente ilimitado. Si el marco está flotando, puede especificar un desplazamiento de fila absoluto (para marcos basados en fila) o como delta desde el valor de columna de orden (para marcos basados en rango) de la fila actual.

Los marcos para funciones en la familia Agregación de ventana también pueden especificar una exclusión como: no excluir otros, excluir fila actual, excluir empates o excluir grupo. Para obtener más información sobre qué funciones admiten la cláusula de exclusión en la sintaxis, consulte Funciones analíticas SQLNetezza Performance Server.