Selo de estado:
Preview(teto atual do produto) · Curso ACD-320 — Fórmulas pt-BR: de SOMA a CALCULAR · Aula 3 de 13 · Atualizado em 2026-10-04.
Objetivo#
Ao final desta aula você vai tratar vazio e erro sem inventar zero.
Vídeo#
Identificador no manifesto: acd-320-03-logica-e-tratamento-de-vazio · duração-alvo 7 min · tela do produto: /dashboards.
Roteiro:
| # | Capítulo | Minutagem-alvo | Rota |
|---|---|---|---|
| 1 | Abertura — a família Lógica (8 funções) | 00:00–00:40 | /dashboards |
| 2 | SE com e sem o "senão" | 00:40–02:00 | /dashboards (editor de fórmulas) |
| 3 | E e OU — quantas condições aceitam | 02:00–03:10 | /dashboards (editor de fórmulas) |
| 4 | SEERRO, COALESCE, EHVAZIO — três formas de lidar com vazio | 03:10–05:00 | /dashboards (editor de fórmulas) |
| 5 | ESCOLHER — faixas de ticket com múltiplos casos | 05:00–06:20 | /dashboards (editor de fórmulas) |
| 6 | Encerramento — "faça você mesmo" | 06:20–07:00 | /dashboards |
Conteúdo#
A categoria Lógica tem oito funções; esta aula cobre as seis mais usadas em medida de negócio: decidir entre dois caminhos (SE), combinar condições (E/OU), lidar com erro e vazio sem travar o painel (SEERRO, COALESCE, EHVAZIO) e escolher entre vários casos (ESCOLHER).
SE — compatível com o DAX, com uma pegadinha
SE(expr; arg2; [arg3])Sem o terceiro argumento ("senão"), a resposta fica vazia — nunca FALSO, nunca 0. É o mesmo comportamento do BLANK que o IF do DAX devolve.
SE(SOMA(valor) > 1000; "meta batida"; "abaixo")Alias: if.
E e OU — aqui aceitam quantas condições você quiser
E(expr; arg2; …)
OU(expr; arg2; …)DIFEREM do DAX. O AND()/OR() do DAX travam em exatamente 2 condições — para combinar três ou mais, é preciso encadear &&/|| ou aninhar AND/OR. Aqui E/OU aceitam quantas condições você quiser, de uma vez:
SE(E(SOMA(valor) > 1000; MEDIA(valor) > 100); 1; 0)SE(OU(SOMA(valor) > 1000; CONTD(pedido_id) > 50); 1; 0)O vazio é tratado como falso — regra da planilha, não zero artificial, falso mesmo.
SEERRO — pega erro E vazio
SEERRO(expr; arg2)DIFERE do DAX. O IFERROR do DAX só troca pela alternativa quando a conta dá erro. SEERRO aqui cai na alternativa quando a conta dá erro ou fica vazia — o que inclui, por exemplo, uma divisão por zero que já devolve vazio (aula 1).
SEERRO(DIVIDIR(SOMA(custo); SOMA(valor)); 0)Isso quer dizer que SEERRO(DIVIDIR(a; b); 0) e DIVIDIR(a; b; 0) dão o mesmo resultado — use a forma que deixar a fórmula mais legível.
COALESCE — o primeiro valor que não é vazio
COALESCE(expr; arg2; …)Devolve o primeiro valor preenchido da lista; se todos estiverem vazios, devolve vazio. Igual ao COALESCE do DAX.
COALESCE(SOMA(desconto); 0)Preenche um desconto ausente com 0 no lugar de deixar a célula vazia — útil quando "sem desconto" deve aparecer como zero visível, não como um branco que parece erro.
EHVAZIO — o teste direto
EHVAZIO(expr)Devolve 1 quando o valor é vazio, 0 quando preenchido — número, não VERDADEIRO/FALSO (mesma convenção lógica do motor inteiro).
SE(EHVAZIO(SOMA(desconto)); "sem desconto"; "com desconto")Alias: isblank.
ESCOLHER — o SWITCH em português
ESCOLHER(expr; arg2; arg3; …)Compara o primeiro valor contra cada "caso" em sequência e devolve o resultado correspondente; o último argumento (quando a lista é par) é o padrão. Aceita o alias CASO.
ESCOLHER(SE(MEDIA(valor) > 300; "alto"; SE(MEDIA(valor) > 100; "medio"; "baixo")); "alto"; "Ticket alto"; "medio"; "Ticket médio"; "Ticket baixo")Essa combinação — SE aninhado para montar a faixa, ESCOLHER para rotular — é o padrão de "faixa de cliente"/"status do pedido" que aparece o tempo todo em modelo de BI.
NAO — a oitava função da categoria
NAO(expr)Compatível com NOT: inverte a condição. Combinada com EHVAZIO, dá o teste "preenchido":
SE(NAO(EHVAZIO(SOMA(desconto))); "com desconto"; "sem desconto")(É o espelho exato do exemplo de EHVAZIO acima — mesma lógica, condição invertida.)
As seis funções desta aula, de um olhar
| Função | Alias | O vazio conta como | DAX |
|---|---|---|---|
SE | if | falso na condição; sem "senão" → vazio | = DAX |
E | and | vazio em qualquer condição pode gerar vazio | ≠ DAX (aceita N condições) |
OU | or | idem | ≠ DAX (aceita N condições) |
SEERRO | iferror | cai na alternativa (erro ou vazio) | ≠ DAX (DAX só pega erro) |
COALESCE | primeiro | pula o vazio, pega o próximo | = DAX |
EHVAZIO | isblank | é o próprio teste | = DAX |
ESCOLHER | switch, caso | vazio no padrão se não casar | = DAX |
Erros comuns
SE(valor > 100, 1, 0)
,continua sendo o erro mais comum de quem troca de Excel/DAX-EN — releia a aula 1: aqui é sempre;.
- Esperar que
E/OUtragam só 2 condições — eles aceitam N, sem precisar aninhar. - Usar
SEERROesperando que só erro caia na alternativa — vazio também cai. - Esquecer o padrão final em
ESCOLHER— sem ele, um valor que não bate em nenhum caso devolve vazio.
Estado da capacidade
Esta aula é conceitual: as seis funções não têm uma capabilityId própria na matriz (são parte do núcleo escalar do motor, coberto pelo sistema de tipos geral). Nenhuma delas é "GA" — o produto inteiro está em Preview.
Faça você mesmo#
No workspace de treino Aurora Varejo (abra /dashboards no console):
- Crie uma coluna calculada ou medida de teste com
SEERRO(DIVIDIR(SOMA(custo); SOMA(valor)); 0)e confirme que ela não quebra quando não há venda no grupo. - Monte a faixa de ticket com
ESCOLHER(SE(MEDIA(valor) > 300; "alto"; SE(MEDIA(valor) > 100; "medio"; "baixo")); "alto"; "Ticket alto"; "medio"; "Ticket médio"; "Ticket baixo"). - Troque o
ESCOLHERporSEaninhado e compare a legibilidade das duas versões. - Crie
COALESCE(SOMA(valor); 0)eEHVAZIO(SOMA(valor))como medidas de apoio e compare, num grupo sem venda, o que cada uma devolve: a primeira troca o vazio por zero, a segunda só responde verdadeiro/falso.
Você terminou quando a fórmula de faixa de ticket validar no editor e você conseguir explicar, com suas palavras, a diferença entre SEERRO e o IFERROR do DAX.
Checagem rápida#
Três perguntas no final da aula, corrigidas no servidor. A aula só conta como concluída depois da checagem.
Documentação relacionada#
- formulas/se
- formulas/seerro
- formulas/coalesce
- formulas/ehvazio
- formulas/escolher
- formulas/e
- formulas/ou
Capacidades ensinadas#
(conceitual — sem capacidade específica da matriz) — o selo exibido na aula é sempre o estado mais conservador entre as capacidades citadas; nada aqui é "GA".