Descripción general de funciones analíticas

Utiliza las funciones analíticas para calcular agregados acumulativos, móviles, centrados y de creación de informes.

Las funciones analíticas calculan un valor agregado que se basa en un grupo de filas. Pero a diferencia de las funciones agregadas, devuelven varias filas para cada grupo. Las funciones analíticas responden las siguientes preguntas:
  • ¿Cuál es el total acumulado?
  • ¿Cuáles son los porcentajes dentro de un grupo?
  • ¿Cuáles son las n consultas principales?
  • ¿Cuál es la media móvil?
Las funciones SQL Netezza Performance Server pueden dividirse en las siguientes familias. Algunas funciones se utilizan en más de una familia:
Familia de agregados de creación de informes/ventanas
Utilice las funciones de creación de informes para comparar valores a niveles distintos de agregación porque pueden hacer varios pases sobre los datos de un bloque de consulta único y, después, devolver el mismo valor de agregado para cada fila de la partición. Puede utilizar las funciones de creación de informes en cálculos de cuotas del mercado y porcentajes del total. Por ejemplo, puede que desee conocer los niveles de ventas regionales como porcentaje de las ventas nacionales.

Las funciones de ventana responden preguntas como “¿cuál es la media móvil de 12 semanas del precio de mercado?” o “¿cuál era la suma acumulativa de ventas por cada región?”

Para todas las funciones de agregado SQL, las funciones de creación de informes proporcionan el procesamiento de agregados de creación de informes, mientras las funciones de ventana proporcionan el procesamiento móvil y acumulativo. Estas funciones de agregación de SQL incluyen: avg, sum, min, median, max, count, variance y stddev, sin embargo la función median() no se soporta como un agregado de ventana.

Familia retardos/adelantos
Utilice estas funciones para comparar diferentes filas de una tabla especificando un desplazamiento desde la fila actual. Puede utilizar estas funciones para analizar cambios y variaciones. Las funciones incluyen retardo y adelanto.
Familia Primero/último
Utilice estas funciones para especificar grupos de agregados ordenados y revolver el primer o último valor de cada grupo. Por ejemplo, puede consultar los extractos de cuenta para los saldos de principio y final de todos los meses. Estas funciones incluyen first_value y last_value.
Familia de clasificación
Estas funciones ayudan a responder preguntas como “¿cuáles son los 10 primeros y los 10 últimos elementos de venta?” Estas funciones examinan toda la salida antes de mostrar una respuesta. Estas funciones incluyen ntile, dense_rank, percent_rank, cume_dist y rank.
Familia de recuento de filas
La función row_number asigna un número a cada una de las filas según su posición dentro de la partición de ventana. Es similar a dense_rank y rank pero distinta de las funciones rank, cuenta empates (filas iguales, es decir, filas que coinciden en el orden por columna).
Familia del conjunto hipotético
Estas funciones proporcionan el rango o percentil que debe tener una fila si se inserta en un conjunto de datos específico. Estas funciones incluyen dense_rank, percent_rank, cume_dist y rank.
Familia de funciones de distribución inversa
Estas funciones proporcionan el valor de un conjunto de datos que corresponde con un percentil especificado. Estas funciones incluyen percentile_cont y percentile_disc; sin embargo, estas dos funciones no se admiten como agregados de ventana.