Tema
Dimensões e medidas
Toda a coluna de uma consulta é uma de duas coisas. Perceber a diferença resolve a maior parte das dúvidas sobre "porque é que este número não bate certo".
A distinção
Dimensão — um valor pelo qual se agrupa. regiao, mes, categoria, canal. Uma dimensão responde a por que critério.
Medida — um valor calculado sobre um conjunto de linhas. SUM(valor), COUNT(numero), AVG(desconto). Uma medida responde a quanto.
No construtor, uma coluna é dimensão quando não tem agregado escolhido, e medida quando tem.
O agrupamento é implícito
Não há nenhum "agrupar por" para configurar. A regra é:
Havendo pelo menos uma medida, todas as dimensões entram no agrupamento.
É só isso. Uma consulta com regiao (dimensão) e SUM(valor) (medida) devolve uma linha por região com a soma das vendas dessa região.
Sem medidas nenhumas, não há agrupamento: a consulta é uma listagem simples, uma linha por linha da tabela.
Os cinco casos
| Dimensões | Medidas | Resultado |
|---|---|---|
| Nenhuma | Nenhuma | Listagem de linhas (todas as colunas escolhidas) |
| Nenhuma | Uma ou mais | Uma única linha com os totais |
| Uma | Uma ou mais | Uma linha por valor da dimensão |
| Duas | Uma ou mais | Uma linha por combinação das duas |
| Várias | Várias | Uma linha por combinação, com todas as medidas |
O segundo caso — só medidas — é o que alimenta um KPI. É o mesmo mecanismo, sem dimensão nenhuma.
Os agregados
| Agregado | O que faz | Cuidados |
|---|---|---|
SUM | Soma | Só faz sentido em campos numéricos |
AVG | Média | É a média das linhas, não ponderada |
MIN | Menor valor | Funciona também em datas e texto |
MAX | Maior valor | Idem |
COUNT | Número de linhas | Conta linhas, incluindo repetidos |
COUNT_DISTINCT | Número de valores diferentes | Para "quantos clientes distintos" |
A média de médias não é a média
AVG(valor) numa consulta agrupada por loja dá a média por venda dentro de cada loja. Somar essas médias e dividir por catorze não dá a média global — as lojas têm números de vendas diferentes.
Para a média global, faça uma consulta sem a dimensão loja.
Granularidade temporal
Um campo de data pode ser truncado antes de agrupar: dia, semana, mês, trimestre ou ano. É o que transforma seis mil linhas de vendas em trinta pontos de uma série mensal.
A granularidade só aparece em campos cujo tipo seja mesmo data. Numa coluna de datas importada como texto, a opção não existe — ver Tipos de coluna.
| Granularidade | Valor produzido |
|---|---|
| Dia | 2026-03-25 |
| Semana | 2026-W12 |
| Mês | 2026-03 |
| Trimestre | 2026-Q1 |
| Ano | 2026 |
Os valores ordenam correctamente por ordem alfabética, e é por isso que têm esta forma.
Escolher a granularidade certa
| Período coberto | Granularidade útil |
|---|---|
| Uma semana | Dia |
| Um a três meses | Dia ou semana |
| Um a dois anos | Mês |
| Três a dez anos | Trimestre ou mês |
| Mais | Ano |
Um gráfico de linhas com mais de cerca de sessenta pontos deixa de se ler. Se a série ficar densa demais, suba a granularidade em vez de encolher o gráfico.
Variação face ao período anterior
Uma coluna pode valer a diferença entre este período e o anterior da mesma série. É como um cartão passa a poder dizer "subiu 7%" com o número a vir dos dados.
A coluna precisa de três coisas: que campo agregar, com que função, e qual é a coluna de saída que ordena a série — tipicamente a data já truncada ao mês.
| Forma | O que devolve |
|---|---|
| Percentagem | A variação em % face ao período anterior |
| Absoluta | A diferença, na unidade do valor |
Numa consulta agrupada por mês com SUM(valor), a variação compara o total de cada mês com o total do mês anterior — a comparação acontece depois do agrupamento, que é o que se quer.
Dois cuidados já tratados:
- o primeiro período da série não tem anterior: a célula fica vazia, não zero;
- a divisão é feita em decimal, para que dois inteiros não produzam um resultado truncado.
Uma coluna de variação é sempre uma medida — nunca entra no agrupamento.
A série tem de estar ordenada por um período
A variação precisa de uma coluna de saída pela qual ordenar. Se essa coluna não existir, a consulta recusa-se a compilar com uma mensagem que diz qual falta — em vez de devolver números comparados por uma ordem arbitrária.
Tal como as origens dinâmicas de condição, esta coluna ainda não tem botão próprio no construtor: configura-se pelo editor de código do ecrã ou por um assistente ligado por MCP. Ver Indicadores (KPI), que é onde costuma ser consumida.
Várias medidas no mesmo gráfico
Uma consulta pode ter várias medidas, e o gráfico mostra uma série por cada. SUM(valor) e SUM(custo) agrupados por mês dão duas linhas comparáveis.
Quando as grandezas são muito diferentes — vendas em milhares e margem em percentagem — use o segundo eixo nas opções do gráfico, em vez de esmagar uma série contra o zero. Ver Gráficos.
Duas dimensões e um gráfico
Com duas dimensões, o gráfico pode usar uma como eixo e outra como série: vendas por mês (eixo) e por canal (série) dão uma linha por canal.
Cuidado com o número de combinações: doze meses vezes catorze lojas são 168 linhas e catorze séries. Legível com quatro canais; ilegível com catorze lojas.
Um erro comum
Uma consulta com produto (dimensão) e SUM(valor) devolve uma linha por produto. Acrescentar data como dimensão, sem granularidade, passa a devolver uma linha por produto e por dia — e o total por produto desaparece.
A regra: cada dimensão acrescentada multiplica as linhas. Se um total deixou de bater certo depois de acrescentar uma coluna, foi isto.