Pular para o conteúdo principal
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.

Construindo templates


Blocos comuns

  • Loop
  • Loop com schema explícito
  • Condição simples
  • Escopo temporário
  • Formatação de valores

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.
Exemplo:
count_by — Conta o número de itens em uma coleção.
Exemplo:
avg_by — Calcula a média dos valores numéricos de um campo.
min_by — Encontra o valor numérico mínimo de um campo.
max_by — Encontra o valor numérico máximo de um campo.
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ódigos de formato: Exemplos:

Tag aritmética

calc — Avalia expressões matemáticas com suporte a variáveis do contexto do template.
Operadores suportados: Exemplos:
Variáveis que não podem ser resolvidas assumem o valor padrão 0. 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 (descendente). Opcionalmente, filtra os itens primeiro. Útil para relatórios regulatórios que exigem o registro mais recente por conta agrupado por categoria.
O resultado é uma lista de itens — o mais recente de cada grupo — armazenada em uma variável que você pode iterar. Cada elemento é o registro original da coleção, então você acessa os campos dele:
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. Os contadores têm escopo por renderização.
counter_show — Exibe a soma de um ou mais contadores nomeados.
Exemplo:

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.
Exemplo: se category.amount = "6.00" e total.expenses = "20.00":

strip_zeros

Remove zeros à direita de um valor numérico sem arredondamento.
Exemplos:

slice

Extrai uma substring usando índices de início e fim (base 0).
Exemplos:

replace

Substitui todas as ocorrências de uma string de busca por uma string de substituição. Formato: "busca:substituição".
Exemplos:

where

Filtra um array de objetos por igualdade de campo. Suporta campos aninhados via notação de ponto.
Exemplos:
Uso dentro de loops:

sum (filtro)

Soma valores numéricos de um campo em todos os itens de um array. Utiliza precisão decimal.
Exemplos:

count (filtro)

Conta elementos em um array onde um campo corresponde a um valor. Suporta campos aninhados.
Exemplos:

contains

Verifica se um valor está parcialmente contido em outro. Útil quando os dados incluem prefixos ou sufixos dinâmicos.
Exemplo:
  • Origem: 0#@external/BRL
  • Destino: @external/BRL
Retorna 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 passar filtros no corpo da requisição para restringir os dados. Os filtros seguem uma estrutura de datasource > tabela > campo: Schema único (padrão):
Multi-schema (chave explícita schema.tabela):
Operadores suportados: