Skip to content
Docs

This page has not been translated yet — you are reading the Portuguese version. View in Portuguese

Preview

CALCULAR

On this page (10)

Calcula a expressão trocando o filtro: TUDO() ignora o grupo, FILTRAR() recorta.

CampoValor
CategoriaContexto e filtro
TipoAgregação (opera sobre um conjunto de linhas)
Aridade1 a 9 argumentos
Compila para SQL (coluna calculada)Não
VersãoMotor de fórmulas v3.

Aliases#

Nome canônico: CALCULAR. Aliases aceitos (maiúsc./minúsc. indiferente): calculate.

Assinatura#

code
CALCULAR(expr; [arg2]; [arg3]; [arg4]; [arg5]; [arg6]; [arg7]; [arg8]; [arg9])

Todos os argumentos são expressões.

Retorno#

O valor da expressão avaliada no contexto trocado.

Tratamento de nulos#

Quando não há linha no contexto trocado, devolve vazio (nunca zero) — um branco é mais honesto que um zero inventado.

Contexto de avaliação#

Troca o contexto de filtro e SÓ ENTÃO avalia a expressão (avaliação preguiçosa) — por isso o resultado difere de calcular a expressão antes.

Diferenças para DAX#

  • Equivalente DAX: CALCULATE
  • Compatibilidade: DIFERE do DAX — semântica diferente, atenção
  • Observação: Modificadores restritos ao repertório do motor (condição solta, FILTRAR, TUDO, TUDO_EXCETO, REMOVER_FILTROS, ENTRE_DATAS, DATAS_NO_PERIODO, TRATAR_COMO, PRIMEIROS_N). Opera sobre as linhas do visual, sem modelo tabular.

Exemplos#

code
CALCULAR(SOMA(receita); FILTRAR(uf = "SP"))

Exemplo com valores#

Entrada: soma ignorando o filtro do grupo (TUDO) → 100.

code
CALCULAR(SOMA(receita); TUDO())  →  100

Resultado esperado: 100

Exemplo de negócio#

Medida comparativa — participação no total, ranking, variação contra outro período.

Erros comuns#

Erros de digitação em nome de coluna, tipo incompatível ou argumento inválido viram mensagem amigável (pt-BR) — o motor nunca devolve um número errado em silêncio.


← Voltar ao índice de fórmulas

Related links