Esta documentación está en fase de desarrollo y puede contener errores.

Funciones de agregación

Sumar, contar, promediar y extraer valores de grupos de registros: rangos, recuentos de días y el mayor o menor de dos valores.

Funciones del espacio F. que calculan sobre grupos de registros: totales, medias, primeros y últimos valores, rangos y recuentos de días. Todas las Aggregate_* ejecutan solo en fórmulas de algoritmo; las convenciones comunes (tipos, sufijos, contextos) están en el índice de funciones.

Contar, sumar y promediar

Las variantes Distinct descartan los valores repetidos antes de calcular.

FunciónParámetrosDevuelveQué hace
Aggregate_Count(dato)EnteroNúmero total de valores del grupo.
Aggregate_CountDistinct(dato)EnteroNúmero de valores distintos del grupo.
Aggregate_Sum(dato)DecimalSuma todos los valores decimales del grupo.
Aggregate_SumDistinct(dato)DecimalSuma los valores decimales distintos.
Aggregate_Average(dato)DecimalMedia de los valores decimales del grupo.
Aggregate_AverageDistinct(dato)DecimalMedia de los valores decimales distintos.

Concatenar texto

FunciónParámetrosDevuelveQué hace
Aggregate_Concat(dato)TextoUne todos los textos del grupo en uno.
Aggregate_ConcatDistinct(dato)TextoUne los textos distintos del grupo en uno.

Máximo y mínimo del grupo

Sin sufijo operan sobre decimales (Aggregate_Max); sufijos Date, DateTime y Time para fechas y horas (Aggregate_MaxDate…). Devuelven el tipo de su variante.

FunciónParámetrosDevuelveQué hace
Aggregate_Max*(dato)Según varianteValor más alto del grupo.
Aggregate_Min*(dato)Según varianteValor más bajo del grupo.

Primero, último y aleatorio

Sin sufijo operan sobre texto (Aggregate_First); sufijos Bool, Date, DateTime, Int, Numeric, Relation y Time (Aggregate_FirstDate, Aggregate_FirstNumeric…). Cada variante devuelve su tipo; las Bool devuelven Entero (1/0).

FunciónParámetrosDevuelveQué hace
Aggregate_First*(dato)Según variantePrimer valor del grupo.
Aggregate_Last*(dato)Según varianteÚltimo valor del grupo.
Aggregate_Random*(dato)Según varianteUn valor del grupo al azar.

Rango de valores

Sin sufijo opera sobre texto (Aggregate_Range); sufijos Bool, Date, DateTime, Int, Numeric y Time. No hay variante de relación. Todas devuelven un texto.

FunciónParámetrosDevuelveQué hace
Aggregate_Range*(dato)TextoRango del grupo, del valor mínimo al máximo.

Días dentro de un rango

Reciben las dos fechas que delimitan el rango. Variantes _DateTime y _Date según el tipo del campo.

FunciónParámetrosDevuelveQué hace
Aggregate_CountDaysInRange_*(desde, hasta)EnteroDías dentro del rango de fechas en el grupo.
Aggregate_CountDistinctDaysInRange_*(desde, hasta)EnteroDías distintos dentro del rango en el grupo.

Mínimo y máximo de dos valores

No son agregados: comparan dos valores sueltos y devuelven uno. Variantes por tipo: _Int, _Num, _Text, _Time, _Date y _DateTime. Se pueden usar en cualquier contexto DinaScript, no solo en fórmulas de algoritmo.

Aggregate_Max devuelve el máximo de un grupo de registros; Max_Num devuelve el mayor de dos valores. No son intercambiables.

FunciónParámetrosDevuelveQué hace
Max_*(dato, dato2)Según varianteEl mayor de los dos valores.
Min_*(dato, dato2)Según varianteEl menor de los dos valores.
@ Limita el descuento entre 0 y 100
num acotado = F.Max_Num(v.descuento, 0)
v.descuento = F.Min_Num(acotado, 100)
@ El vencimiento nunca cae antes de la fecha de emisión
v.vencimiento = F.Max_Date(v.vencimiento, v.emision)

Índice de funcionesAlgoritmos

On this page