Skip to main content
Expressões são fórmulas, como as de uma planilha, que você escreve no construtor visual. Com elas, um indicador calcula o que as colunas não trazem prontas: uma taxa, um tempo de espera, uma faixa, a comparação com o ano anterior. A sintaxe é a mesma do Metabase. Quem já escreveu expressões lá não precisa reaprender.

Onde as expressões entram

Numa junção, o botão ƒx de cada lado da condição também aceita uma expressão, calculada linha a linha.
As colunas dos exemplos, como [minutos_espera] e [chegada], são fictícias. Troque pelas colunas do seu indicador.

Agregações e funções por linha

Há dois tipos de função:
  • Funções por linha calculam um valor para cada linha: lower([setor]), datetimeDiff([chegada], [alta], "day"), case(…). Cabem em qualquer lugar.
  • Agregações resumem muitas linhas num número: Count(), Sum([valor]), CountIf(…). Só cabem em Resumir. As funções de janela, como Offset e SamePeriodLastYear, também.
Numa métrica, você pode combinar agregações numa conta, e usar funções por linha dentro delas: Sum([valor]) / Count(), CountIf(lower([setor]) = "ps").

Como escrever

  • Colunas vão entre colchetes, com o nome que aparece no construtor: [minutos_espera]. Nome com espaço também: [Nome do setor].
  • Textos vão entre aspas: "PS" ou 'PS'.
  • Números usam ponto como separador decimal: 0.9, e não 0,9.
  • Verdadeiro e falso se escrevem True e False.
  • Funções se escrevem com os argumentos entre parênteses, separados por vírgula: round([minutos_espera] / 60). O nome não diferencia maiúsculas: countif é o mesmo que CountIf.
Para filtrar por período, prefira o filtro de coluna do passo Filtrar, ou a função interval para janelas como “os últimos 30 dias”.

Operadores

  • A divisão devolve decimal. 3 / 2 dá 1.5. Dividir por zero dá vazio, e não erro.
  • AND vem antes de OR. [a] OR [b] AND [c] é [a] OR ([b] AND [c]). Na dúvida, use parênteses.
  • Datas aceitam + e - com uma duração: [chegada] + timeSpan(3, "day"). Data menos data não dá número: para o tempo entre duas datas, use datetimeDiff.

Valores vazios

Uma comparação com um valor vazio não dá verdadeiro nem falso: dá vazio. Na prática, a linha não passa no filtro e não entra na contagem.
  • [convenio] != "SUS" deixa de fora as linhas sem convênio. Para incluí-las: [convenio] != "SUS" OR isNull([convenio]).
  • Para testar se há valor, use isNull e notNull, ou isEmpty e notEmpty, que também tratam o texto em branco "" como vazio.
  • Para trocar o vazio por um valor, use coalesce([convenio], "sem convênio").

O editor ajuda enquanto você digita

  • Comece a digitar o nome de uma função e o editor sugere as que cabem naquele campo. Aceitar uma sugestão (Enter ou Tab) escreve a função com os argumentos para preencher; Tab passa ao próximo.
  • Digite [ e o editor lista as colunas disponíveis.
  • Dentro de uma função, o editor mostra a assinatura com o argumento atual destacado, a descrição e um exemplo.
  • O botão ƒ ao lado do campo abre todas as funções, por categoria, com busca.
  • Um erro fica sublinhado no ponto em que está, com a explicação embaixo do campo. Enquanto houver erro, a consulta continua com a última versão válida da expressão.

Receitas

Taxa de internação

A fração dos atendimentos que viraram internação, supondo uma coluna [codigo_internacao] preenchida só nesses casos. Uma métrica em Resumir:
O resultado é uma fração, como 0.18. Para ver 18%, escolha Percentual (× 100) em Visualização → Formato.

O mesmo indicador no ano anterior

Uma segunda métrica, ao lado da primeira:
O filtro de data do painel vale para as duas: de 15/01 a 15/03/2026, a segunda conta de 15/01 a 15/03/2025. Veja SamePeriodLastYear.

Faixas de espera

Uma coluna personalizada, para agrupar por ela depois:

Tempo de espera a partir de duas datas

Uma coluna personalizada, em minutos:

Atendimentos com espera longa no pronto-socorro

Um filtro por expressão:

Mensagens de erro comuns

Próximos passos

Lista de funções

Todas as funções, por categoria, com sintaxe e exemplo.

SamePeriodLastYear

O indicador contra o mesmo período do ano anterior.