Construindo templates
Blocos comuns
- Loop
- Loop com schema explícito
- Condição simples
- Escopo temporário
- Formatação de valor
Blocos condicionais
Referência de tags
Tags de agregação
sum_by — Soma valores numéricos de um campo em todos os itens de uma coleção.Todas as tags de agregação usam precisão decimal para evitar erros de arredondamento de ponto flutuante. Campos ausentes ou não numéricos são ignorados. Retorna
0 se nenhum item corresponder.Tag de data e hora
date_time — Retorna a data e a hora atuais no fuso horário local do runtime do Reporter, formatadas conforme a string de formato informada.
Exemplos:
Tag aritmética
calc — Avalia expressões matemáticas com suporte a variáveis do contexto do template.
Exemplos:
Variáveis que não podem ser resolvidas usam
0 por padrão. Divisão por zero produz um erro.Tag de seleção agrupada
last_item_by_group — Agrupa itens por um campo e seleciona o item mais recente de cada grupo, ordenado por um campo de data (decrescente). Opcionalmente filtra os itens antes. Útil para relatórios regulatórios que exigem o registro mais recente por conta, agrupado por categoria.group_by aceita uma lista de campos separados por vírgula para agrupamento composto. Tamanho máximo da coleção: 100.000 itens. Os resultados são ordenados pelo valor de group_by para uma saída determinística.Tags de contador
counter — Incrementa um contador nomeado em 1. Não produz saída. Contadores têm escopo por renderização.Referência de filtros
percent_of
Calcula a porcentagem de um valor em relação a um total. Retorna uma string formatada com 2 casas decimais.category.amount = "6.00" e total.expenses = "20.00":
strip_zeros
Remove zeros à direita de um valor numérico sem arredondar.slice
Extrai uma substring usando índices de início e fim (baseados em 0).replace
Substitui todas as ocorrências de uma string de busca por uma string de substituição. Formato:"search:replacement".
where
Filtra um array de objetos por igualdade de campo. Aceita campos aninhados via notação de ponto.sum (filtro)
Soma valores numéricos de um campo em todos os itens de um array. Usa precisão decimal.count (filtro)
Conta elementos de um array em que um campo corresponde a um valor. Aceita campos aninhados.contains
Verifica se um valor está parcialmente contido em outro. Útil quando os dados incluem prefixos ou sufixos dinâmicos.- Origem:
0#@external/BRL - Destino:
@external/BRL
true porque @external/BRL existe dentro do valor de origem.
Resumo de operadores e filtros
Filtragem avançada
Ao gerar um relatório, você pode enviar filtros no corpo da requisição para restringir os dados. Os filtros seguem uma estrutura de datasource > tabela > campo: Schema único (padrão):

