Lista de agregadores




Los agregadores son similares a las funciones, pero poseen una sintaxis más rica con opciones. A continuación, incluimos la lista de agregadores compatibles con Envision.


Uso de agregador

Existen dos usos principales para los agregadores, ya sea que se realice una unión entre tablas o no.

Agregación simple

Cuando no hay una unión, el uso general de un agregador agg es:
u = agg(v) by [w1, w2, w3] sort [w4, w5] if c or x over [a .. b]
Donde:
  • agg es el nombre del agregador.
  • by es una opción que indica los grupos que se utilizarán al agregar. Es posible agregar con respecto a uno o más valores.
  • sort es una opción que indica el orden de clasificación que se utilizará al agregar. Es posible clasificar con respecto a uno o más valores.
  • if es un filtro de agregador. Cuando está presente, se omiten de la agregación todas las líneas que son false.
  • or es una opción que indica el valor que devolver si el grupo está vacío.
  • over es una opción utilizada para definir un período de tiempo de agregación con límites expresados en días y relativos a la fecha de la línea objetivo.

Cuando by no está especificado, el agrupamiento se produce de acuerdo con el contexto, generalmente utilizando la parte izquierda de la instrucción en el caso de una asignación. Es posible hacer una lista de las variables después de by; si se utiliza solo una variable, no es necesario el uso de paréntesis.

La opción sort generalmente no tiene ningún efecto en la mayoría de los agregadores, por ej. max, porque esos operadores no dependen de ningún orden de clasificación. Sin embargo, le sugerimos que aproveche esta opción con los agregadoresfirst ylast.

Cuando if no está especificado, se incluyen todas las líneas equivalentes a if true.

Cuando no esté especificado or, se devolverán valores predeterminados cuando el agrupamiento está vacío: 0 (cero) para números, false para booleanos, la cadena vacía para texto y la distribución cero para distribuciones.

Agregación con unión de tablas

La sintaxis general para este segundo caso es similar, pero diferente al descrito anteriormente:

u = agg(v) by [w1, w2, w3] sort [w4, w5] if c at [z1, z2, z3] or x

La opción at indica los grupos utilizados al unir las tablas. Note que debe haber una correspondencia de uno a uno entre estos grupos y los grupos utilizados en la opción by. Como consecuencia, la opción by es obligatoria, y el número de entradas especificado en las opciones by y at debe ser idéntico.

Agregadores básicos

Los agregadores más utilizados son los siguientes:

  • avg: solo argumento numérico; devuelve el valor de línea promedio.
  • count: cuenta la cantidad de líneas que son true (booleanas) o diferentes de cero (números) o no vacías (texto).
  • distinct: cuenta la cantidad de valores distintos.
  • first: devuelve el valor asociado a la línea más antigua, definida por la opción sort.
  • last: devuelve el valor asociado con la línea más reciente, definida por la opción sort.
  • max: devuelve el valor más alto.
  • median: se comporta como la función MEDIANA de Excel.
  • min: devuelve el valor más bajo.
  • product: solo argumento numérico; devuelve el producto de los valores de línea.
  • ratio: devuelve el porcentaje (entre 0 y 1) de booleanas que son verdaderas (true) o de números que son distintos de cero. La razón de un grupo vacío es 1.
  • same: espera que todos los valores agrupados sean idénticos (de lo contrario, falla) y de vuelve este valor.
  • sum: solo argumento numérico; devuelve la suma de los valores de línea.

Agregadores lógicos

Los agregadores a continuación devuelven un valor booleano:

  • all: devuelve true si todas las líneas de entrada son true; de lo contrario, devuelve false.
  • any: devuelve false si todas las líneas de entrada son false; de lo contrario, devuelve true.
  • exists: devuelve true si está presente en al menos una línea pasada al agregador.

Agregadores temporales

Estos agregadores se aplican solo a las tablas que tienen una columna Date:

  • latest (entre tablas, caso especial): devuelve el valor más reciente observado. latest no es compatible con ninguna de las opciones disponibles.

Agregadores estadísticos

Los agregadores a continuación proporcionan cálculos estadístico:

  • entropy: devuelve la entropía de Shannon del grupo. El valor devuelto se expresa en “shannons”.
  • mode: similar a la función MODA.VARIOS de Excel.
  • percentile (dos argumentos, caso especial): similar a la función PERCENTIL de Excel. El segundo argumento es objetivo percentil entre 0 y 1.
  • stdev: similar a la función STDEV de Excel.
  • stdevp: similar a la función STDEV.P de Excel.

Variables aleatorias

La distribución puede generarse a través de la agregación (vea también el artículo sobre álgebra de distribuciones):

  • ranvar: devuelve la variable aleatoria empírica asociada con las observaciones numéricas.
  • sumr: devuelve la suma de convoluciones aditivas de variables aleatorias. Así como sum() es el agregador asociado al operador + operador, el agregador sumr() se asocia al operador +*.