Tema
Filtros da consulta
Uma condição dentro da consulta restringe as linhas antes da agregação. É o que faz um gráfico mostrar só um produto, só o último ano, ou só o que foi seleccionado noutro widget.
Não confundir com os filtros do dashboard, que são declarados no ecrã e se aplicam a vários widgets de uma vez.
Uma condição tem três partes
Campo — de que tabela e que campo.
Operador — como se compara.
Valor — de onde vem o que se compara.
Operadores
| Operador | Significado | Tipos |
|---|---|---|
eq | Igual | Todos |
neq | Diferente | Todos |
contains | Contém o texto | Texto |
startsWith | Começa por | Texto |
endsWith | Termina em | Texto |
gt | Maior que | Números e datas |
gte | Maior ou igual | Números e datas |
lt | Menor que | Números e datas |
lte | Menor ou igual | Números e datas |
Num campo numérico, o valor é comparado como número — 10 não aparece antes de 9 como aconteceria em texto.
Só o período mais recente
Uma condição sobre um campo de data tem uma opção própria: só o período mais recente que existir. Em vez de um operador e um valor, a condição passa a valer "a data mais alta que existe nesta tabela".
É a forma correcta de montar um dashboard de posição actual. A alternativa — escrever 2026-12-01 na condição — transforma o dashboard numa fotografia: no dia em que entrarem meses novos, continua a mostrar o mês antigo, e sem dar erro nenhum.
Dois detalhes que importam:
- o valor sai dos dados, não do relógio. Um mês novo importado é seguido automaticamente;
- a procura do mais recente ignora as outras condições da consulta. É deliberado: se um filtro por loja restringisse também esta procura, cada cartão do ecrã passaria a falar de um mês diferente conforme o que sobrasse depois de filtrar.
De onde vem o valor
Um valor pode vir de cinco sítios:
| Origem | O que lê | Uso típico |
|---|---|---|
| Valor fixo | Um valor escrito na condição | Excluir sempre uma categoria |
| Parâmetro do ecrã | Um parâmetro do ecrã actual | Ecrãs de detalhe |
| Sessão | Um campo do utilizador autenticado | Mostrar só o que é seu |
| Widget | O valor actual de um campo de entrada | Filtro interactivo feito à mão |
| Selecção | A linha ou ponto seleccionado noutro widget | Cruzamento entre widgets |
As três últimas são dinâmicas: quando o valor muda, a consulta recorre sozinha.
O construtor visual só oferece valores fixos
A secção Condições do construtor aceita um valor escrito e a opção do período mais recente. As origens dinâmicas — parâmetro, sessão, widget, selecção — existem no formato do ecrã, mas ainda não têm editor no construtor.
Hoje configuram-se por dois caminhos:
- o editor de código do documento do ecrã (o ícone
</>no editor visual); - um assistente ligado por MCP, que escreve o documento por si.
Um caso tem interface própria e não precisa de nada disto: abrir um ecrã de detalhe ao clicar numa linha configura-se nas propriedades do widget. Ver Drill para o detalhe.
Parâmetro do ecrã
Num ecrã de detalhe com um parâmetro produto, a condição Produtos.produto eq {parâmetro produto} faz com que todos os widgets do ecrã mostrem só aquele produto. Ver Parâmetros de ecrã.
Selecção de outro widget
A condição Lojas.loja eq {selecção do widget w_barras, campo loja} faz este widget seguir o que estiver seleccionado no gráfico de barras.
Sem nada seleccionado, a condição cai e o widget mostra tudo. É um comportamento deliberado: um ecrã acabado de abrir mostra o panorama completo, e só restringe depois de alguém clicar. Ver Cruzamento entre widgets.
Widget de entrada
A condição lê o valor actual de uma lista pendente, de uma caixa de texto ou de um seletor de data colocado no ecrã. É o filtro interactivo feito à mão — útil quando se quer controlo total sobre o aspecto e o comportamento do controlo.
Para o caso comum, os filtros do dashboard dão o mesmo resultado com muito menos trabalho, e esses configuram-se todos pela interface.
Condições vazias caem
Uma condição cujo valor esteja vazio, ausente ou por resolver não é aplicada. A consulta corre sem ela.
Este comportamento é proposital e evita a alternativa pior: um ecrã que não mostra nada porque um filtro ainda não tem valor.
Também quer dizer que "mostrar apenas as linhas com campo vazio" não se faz com uma condição de valor vazio. Use neq com um valor que nunca ocorra, ou trate o caso na importação.
Período relativo
Um campo de data pode ter uma condição relativa a hoje: últimos N dias, meses ou anos.
Duas características importantes:
- a data é calculada no servidor, no momento da consulta. Não depende do relógio do computador de quem está a ver;
- não há valor nenhum a resolver do lado do cliente.
ultimos 12 meses num campo data mantém o dashboard sempre no último ano, sem manutenção.
Só funciona em campos que sejam mesmo datas
Numa coluna de datas importada como texto, a condição relativa é descartada em silêncio — a consulta corre sem ela e o dashboard mostra tudo. Se um filtro de período parece não fazer nada, comece por confirmar o tipo da coluna.
Várias condições
Todas as condições de uma consulta são combinadas com E: uma linha tem de satisfazer todas para entrar.
Não há "OU" no construtor visual. Para um "OU", há três caminhos:
- usar
containsquando os valores partilham um padrao; - fazer o "OU" na importação, com uma coluna que já distinga os casos;
- usar o modo SQL.
Condições ou limite
Restringir com uma condição e restringir com um limite são coisas diferentes:
- a condição decide que linhas entram no cálculo. Um total com condição é o total daquele subconjunto;
- o limite corta o resultado já calculado. Um "top 10" tem os totais certos — mostra só as dez primeiras linhas.
Confundir os dois da números errados: limitar a 10 antes de somar não da o total dos 10 maiores, da o total de 10 linhas quaisquer da ordem em que sairam.