Saltar al contenido principal
Esta página es una referencia completa de todos los tags, filtros y operadores de plantillas disponibles en Reporter. Para una introducción a las plantillas y marcadores de posición, consulte Qué es Reporter.

Construcción de plantillas


Bloques comunes

  • Bucle
  • Bucle con esquema explícito
  • Condición simple
  • Alcance temporal
  • Formato de valores

Bloques condicionales

Referencia de tags


Tags de agregación

sum_by — Suma valores numéricos de un campo en todos los elementos de una colección.
Ejemplo:
count_by — Cuenta el número de elementos en una colección.
Ejemplo:
avg_by — Calcula el promedio de valores numéricos en un campo.
min_by — Encuentra el valor numérico mínimo en un campo.
max_by — Encuentra el valor numérico máximo en un campo.
Todos los tags de agregación utilizan precisión decimal para evitar errores de redondeo de punto flotante. Los campos faltantes o no numéricos se omiten. Retorna 0 si ningún elemento coincide.

Tag de fecha y hora

date_time — Muestra la fecha y hora actual formateada según la cadena de formato proporcionada. La hora se genera en UTC.
Códigos de formato: Ejemplos:

Tag aritmético

calc — Evalúa expresiones matemáticas con soporte para variables del contexto de la plantilla.
Operadores soportados: Ejemplos:
Las variables que no pueden resolverse toman el valor predeterminado 0. La división por cero produce un error.

Tag de selección agrupada

last_item_by_group — Agrupa elementos por un campo y selecciona el elemento más reciente de cada grupo, ordenado por un campo de fecha (descendente). De forma opcional, filtra los elementos primero. Útil para reportes regulatorios que requieren el último registro por cuenta agrupado por categoría.
El resultado es una lista de elementos — el más reciente de cada grupo — almacenada en una variable sobre la que puedes iterar. Cada elemento es el registro original de la colección, así que accedes a sus propios campos:
group_by acepta una lista de campos separados por comas para agrupación compuesta. Tamaño máximo de la colección: 100,000 elementos. Los resultados se ordenan por el valor de group_by para una salida determinista.

Tags de contadores

counter — Incrementa un contador nombrado en 1. No produce salida. Los contadores tienen alcance por renderizado.
counter_show — Muestra la suma de uno o más contadores nombrados.
Ejemplo:

Referencia de filtros


percent_of

Calcula el porcentaje de un valor en relación con un total. Retorna una cadena formateada con 2 decimales.
Ejemplo: si category.amount = "6.00" y total.expenses = "20.00":

strip_zeros

Elimina los ceros finales de un valor numérico sin redondear.
Ejemplos:

slice

Extrae una subcadena usando índices de inicio y fin (basados en 0).
Ejemplos:

replace

Reemplaza todas las ocurrencias de una cadena de búsqueda con una cadena de reemplazo. Formato: "búsqueda:reemplazo".
Ejemplos:

where

Filtra un arreglo de objetos por igualdad de campo. Soporta campos anidados mediante notación de punto.
Ejemplos:
Uso dentro de bucles:

sum (filtro)

Suma valores numéricos de un campo en todos los elementos de un arreglo. Utiliza precisión decimal.
Ejemplos:

count (filtro)

Cuenta los elementos de un arreglo donde un campo coincide con un valor. Soporta campos anidados.
Ejemplos:

contains

Verifica si un valor está parcialmente incluido en otro. Útil cuando los datos incluyen prefijos o sufijos dinámicos.
Ejemplo:
  • Origen: 0#@external/BRL
  • Destino: @external/BRL
Retorna true porque @external/BRL existe dentro del valor de origen.

Resumen de operadores y filtros


Filtrado avanzado


Al generar un reporte, puede pasar filtros en el cuerpo de la solicitud para acotar los datos. Los filtros siguen una estructura de fuente de datos > tabla > campo: Esquema único (predeterminado):
Multi-esquema (clave explícita esquema.tabla):
Operadores soportados: