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ón | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
Aggregate_Count | (dato) | Entero | Número total de valores del grupo. |
Aggregate_CountDistinct | (dato) | Entero | Número de valores distintos del grupo. |
Aggregate_Sum | (dato) | Decimal | Suma todos los valores decimales del grupo. |
Aggregate_SumDistinct | (dato) | Decimal | Suma los valores decimales distintos. |
Aggregate_Average | (dato) | Decimal | Media de los valores decimales del grupo. |
Aggregate_AverageDistinct | (dato) | Decimal | Media de los valores decimales distintos. |
Concatenar texto
| Función | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
Aggregate_Concat | (dato) | Texto | Une todos los textos del grupo en uno. |
Aggregate_ConcatDistinct | (dato) | Texto | Une 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ón | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
Aggregate_Max* | (dato) | Según variante | Valor más alto del grupo. |
Aggregate_Min* | (dato) | Según variante | Valor 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ón | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
Aggregate_First* | (dato) | Según variante | Primer valor del grupo. |
Aggregate_Last* | (dato) | Según variante | Último valor del grupo. |
Aggregate_Random* | (dato) | Según variante | Un 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ón | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
Aggregate_Range* | (dato) | Texto | Rango 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ón | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
Aggregate_CountDaysInRange_* | (desde, hasta) | Entero | Días dentro del rango de fechas en el grupo. |
Aggregate_CountDistinctDaysInRange_* | (desde, hasta) | Entero | Dí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ón | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
Max_* | (dato, dato2) | Según variante | El mayor de los dos valores. |
Min_* | (dato, dato2) | Según variante | El 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)Funciones matemáticas y de conversión
Redondear decimales, aplicar y deshacer porcentajes, forzar el signo y convertir entre texto, números y fechas en DinaScript.
Funciones de datos y listados
Cargar informes y secciones desde DinaScript, filtrarlos y ordenarlos, recorrer sus filas y volcar los valores en celdas HTML con formato.