Esta página é uma referência completa de todas as tags, filtros e operadores de templates disponíveis no Reporter. Para uma introdução aos templates e placeholders, consulte O que é o Reporter.Documentation Index
Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt
Use this file to discover all available pages before exploring further.
Construindo templates
Blocos comuns
- Loop
- Loop com schema explícito
- Condição simples
- Escopo temporário
- Formatação de valores
Blocos condicionais
| Bloco | Descrição | Exemplo |
|---|---|---|
| If | Executa o bloco se a condição for verdadeira | {% if condition %}...{% endif %} |
| If-else | Executa um bloco se verdadeiro, outro se falso | {% if condition %}...{% else %}...{% endif %} |
| If-else-if | Permite múltiplas verificações | {% if a %}...{% elif b %}...{% else %}...{% endif %} |
| Igual | Verifica se dois valores são iguais | {% if a == b %} |
| Diferente | Verifica se dois valores são diferentes | {% if a != b %} |
| Maior que | Verifica se a é maior que b | {% if a > b %} |
| Menor que | Verifica se a é menor que b | {% if a < b %} |
| Maior ou igual | Verifica se a é maior ou igual a b | {% if a >= b %} |
| Menor ou igual | Verifica se a é menor ou igual a b | {% if a <= b %} |
| And | Retorna verdadeiro se ambas as condições forem verdadeiras | {% if a and b %} |
| Or | Retorna verdadeiro se pelo menos uma for verdadeira | {% if a or b %} |
| Not | Inverte o resultado booleano | {% if not a %} |
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 utilizam 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 — Gera a data e hora atuais formatadas de acordo com a string de formato fornecida. O horário é gerado em UTC.| Código | Significado | Exemplo |
|---|---|---|
YYYY | Ano com 4 dígitos | 2025 |
MM | Mês com 2 dígitos | 01-12 |
dd | Dia com 2 dígitos | 01-31 |
HH | Hora com 2 dígitos (24h) | 00-23 |
mm | Minuto com 2 dígitos | 00-59 |
ss | Segundo com 2 dígitos | 00-59 |
Tag aritmética
calc — Avalia expressões matemáticas com suporte a variáveis do contexto do template.| Operador | Descrição | Precedência |
|---|---|---|
** | Exponenciação | Mais alta (direita para esquerda) |
* / | Multiplicação, divisão | Média |
+ - | Adição, subtração | Mais baixa |
( ) | Parênteses | Sobrescreve a precedência |
Variáveis que não podem ser resolvidas assumem o valor padrão
0. Divisão por zero produz um erro.Tag de agregação financeira
aggregate_balance — Agrupa itens por um campo, seleciona a entrada mais recente por conta dentro de cada grupo e soma os saldos. Útil para relatórios regulatórios que exigem o saldo mais recente por conta agrupado por categoria.| Campo | Tipo | Descrição |
|---|---|---|
group_value | string | O valor do campo group_by |
balance | decimal | Soma dos saldos mais recentes por conta no grupo |
count | inteiro | Número de contas no grupo |
Tamanho máximo da coleção: 100.000 itens. Os resultados são ordenados por
group_value.Tags de contador
counter — Incrementa um contador nomeado em 1. Não produz saída. Os 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 arredondamento.slice
Extrai uma substring usando índices de início e fim (base 0).replace
Substitui todas as ocorrências de uma string de busca por uma string de substituição. Formato:"busca:substituição".
where
Filtra um array de objetos por igualdade de campo. Suporta campos aninhados via notação de ponto.sum (filtro)
Soma valores numéricos de um campo em todos os itens de um array. Utiliza precisão decimal.count (filtro)
Conta elementos em um array onde um campo corresponde a um valor. Suporta 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
| Nome | Tipo | Descrição |
|---|---|---|
sum_by | Tag | Soma valores por campo com filtro opcional |
count_by | Tag | Conta itens com filtro opcional |
avg_by | Tag | Calcula a média por campo |
min_by | Tag | Encontra o valor mínimo |
max_by | Tag | Encontra o valor máximo |
date_time | Tag | Formata a data/hora atual |
calc | Tag | Avalia expressões aritméticas |
aggregate_balance | Tag | Agregação de saldos financeiros agrupados |
counter | Tag | Incrementa um contador nomeado |
counter_show | Tag | Exibe valor(es) do contador |
percent_of | Filtro | Calcula porcentagem |
strip_zeros | Filtro | Remove zeros à direita |
slice | Filtro | Extrai substring |
replace | Filtro | Substituição de string |
where | Filtro | Filtra array por valor de campo |
sum | Filtro | Soma valores de campo do array |
count | Filtro | Conta itens correspondentes |
contains | Função | Correspondência parcial de string |
floatformat | Filtro | Formata casas decimais |
Filtragem avançada
Ao gerar um relatório, você pode passar filtros no corpo da requisição para restringir os dados. Os filtros seguem uma estrutura de datasource > tabela > campo: Schema único (padrão):
| Operador | Descrição | Exemplo |
|---|---|---|
eq | Igual a | { "eq": ["active", "pending"] } |
gt | Maior que | { "gt": [100] } |
gte | Maior ou igual a | { "gte": ["2025-06-01"] } |
lt | Menor que | { "lt": [1000] } |
lte | Menor ou igual a | { "lte": ["2025-06-30"] } |
between | Valor dentro de um intervalo | { "between": [100, 1000] } |
in | Valor está em uma lista | { "in": ["active", "pending"] } |
nin | Valor não está em uma lista | { "nin": ["deleted", "archived"] } |

