Selo de estado:
Preview(teto atual do produto) · Curso ACD-320 — Fórmulas pt-BR: de SOMA a CALCULAR · Aula 4 de 13 · Atualizado em 2026-10-04.
Objetivo#
Ao final desta aula você vai formatar rótulos; dividir sem erro.
Vídeo#
Identificador no manifesto: acd-320-04-texto-e-numeros · duração-alvo 6 min · tela do produto: /dashboards.
Roteiro:
| # | Capítulo | Minutagem-alvo | Rota |
|---|---|---|---|
| 1 | Abertura — texto e números no rótulo de um visual | 00:00–00:30 | /dashboards |
| 2 | TEXTO e VALOR — ida e volta número ↔ texto | 00:30–01:50 | /dashboards (editor de fórmulas) |
| 3 | CONCATENAR, ESQUERDA, DIREITA | 01:50–03:10 | /dashboards (editor de fórmulas) |
| 4 | ARRED — arredondar sem confundir com TRUNCAR | 03:10–04:00 | /dashboards (editor de fórmulas) |
| 5 | DIVIDIR — a divisão que nunca quebra o cartão | 04:00–05:10 | /dashboards (editor de fórmulas) |
| 6 | Encerramento — montando o rótulo "R$ 1.234,56 (12%)" | 05:10–06:00 | /dashboards |
Conteúdo#
Esta aula junta duas famílias pequenas — Texto e um pouco de Matemática — em torno de um objetivo bem prático: montar o rótulo que aparece no cartão ou na legenda, e dividir sem que um denominador zero derrube o painel.
TEXTO — número para texto, no padrão pt-BR
TEXTO(expr; [arg2])DIFERE do DAX. O FORMAT do DAX recebe uma string de formato ("#.##0,00"). Aqui o segundo argumento é simplesmente o número de casas decimais, já no padrão brasileiro (vírgula decimal, ponto de milhar).
TEXTO(SOMA(valor); 2)| Entrada | Fórmula | Resultado |
|---|---|---|
| 1234,5 com 2 casas | TEXTO(1234,5; 2) | "1.234,50" |
Para formatação rica (moeda com símbolo, percentual com %), use as opções de formato do campo — TEXTO é para montar um rótulo de texto, não o formato do número na coluna.
VALOR — texto para número
VALOR(expr)O caminho inverso: lê um texto no padrão pt-BR ("1.234,56") e devolve o número. Compatível com VALUE.
VALOR("1.234,56")CONCATENAR — quantos textos você quiser
CONCATENAR(expr; arg2; …)DIFERE do DAX: o CONCATENATE do DAX aceita só 2 argumentos (para mais, usa-se o operador &). Aqui CONCATENAR aceita N textos de uma vez.
CONCATENAR("R$ "; TEXTO(SOMA(valor); 2); " ("; TEXTO(ARRED(MEDIDA('Participação %') * 100; 0); 0); "%)")(A medida Participação % é construída na aula 6 — aqui o foco é a montagem do texto.) O operador & também concatena, e é mais curto para dois pedaços: uf & " - " & canal.
ESQUERDA e DIREITA — pedaços de texto por posição
ESQUERDA(expr; arg2)
DIREITA(expr; arg2)Compatíveis com LEFT/RIGHT. Úteis para padronizar cadastro — CNPJ, SKU, prefixo de código.
ESQUERDA(cnpj; 8)DIREITA(cnpj; 4)ARRED — arredonda, não trunca
ARRED(expr; [arg2])Compatível com ROUND: arredonda para o número de casas informado (padrão 0 quando omitido).
ARRED(DIVIDIR(SOMA(custo); SOMA(valor)); 2)Não confunda com TRUNCAR (corta as casas sem arredondar) — ARRED(3,14159; 2) dá 3,14, mas TRUNCAR(3,149; 2) também dá 3,14 só porque o terceiro dígito já cortaria para baixo; em 3,146 o ARRED sobe para 3,15 e o TRUNCAR fica em 3,14. Se o relatório fecha com centavos, a escolha entre as duas é uma decisão de negócio, não só de sintaxe.
DIVIDIR — a função que evita o cartão quebrado
DIVIDIR(expr; arg2; [arg3])Compatível com o DIVIDE do DAX: quando o divisor é zero (ou vazio), devolve a alternativa informada no terceiro argumento — ou vazio, se você não informar nenhuma.
DIVIDIR(SOMA(valor); CONTD(pedido_id); 0)Comparado ao operador /: SOMA(valor) / CONTD(pedido_id) dá vazio quando não há pedido (nunca erro — releia a aula 1), mas não deixa você escolher uma alternativa visível como 0 ou "—".
NUMCARACT, ARRUMAR e SUBSTITUIR — para quando o cadastro vem torto
Três funções da mesma categoria Texto que aparecem com frequência em dado de ERP real, mesmo sem estarem no título desta aula:
NUMCARACT(cnpj)ARRUMAR(canal)SUBSTITUIR(canal; "_"; " ")NUMCARACT (alias len/length) conta caracteres — útil para validar se um CNPJ ou SKU tem o tamanho esperado antes de usar ESQUERDA/DIREITA. ARRUMAR (alias trim) tira espaços sobrando nas pontas e reduz espaços internos repetidos — o cadastro que vem "Loja Centro " do sistema de origem. SUBSTITUIR difere do DAX: troca todas as ocorrências de um trecho (como SUBSTITUTE), mas o alias replace aqui não é o REPLACE por posição do DAX/Excel — é o mesmo SUBSTITUIR por conteúdo.
Referência rápida desta aula
| Função | Alias | Direção | DAX |
|---|---|---|---|
TEXTO | format | número → texto | ≠ DAX (2º arg é nº de casas, não máscara) |
VALOR | value | texto → número | = DAX |
CONCATENAR | concatenate, concat | textos → 1 texto | ≠ DAX (aceita N, não só 2) |
ESQUERDA | left | recorta início | = DAX |
DIREITA | right | recorta fim | = DAX |
ARRED | round | número → número arredondado | = DAX |
DIVIDIR | divide | divisão segura | = DAX |
Erros comuns
- Achar que
TEXTO(x; 2)recebe uma máscara de formato como no Power BI — recebe só o número de casas. - Montar
CONCATENAResperando 2 argumentos como no DAX — aqui aceita quantos precisar. - Dividir direto com
/em vez deDIVIDIRquando o denominador pode ser zero — funciona (devolve vazio), mas sem alternativa visível no cartão.
Estado da capacidade
Aula conceitual, sem capabilityId própria — parte do núcleo escalar do motor (mesmo "Preview" do curso inteiro).
Faça você mesmo#
No workspace de treino Aurora Varejo (abra /dashboards no console):
- Crie uma medida de teste com
ARRED(DIVIDIR(SOMA(custo); SOMA(valor)); 2)— a margem arredondada em 2 casas. - Monte o rótulo
CONCATENAR("R$ "; TEXTO(SOMA(valor); 2); " ("; TEXTO(0; 0); "%)")e confirme o formato"R$ 1.234,56 (0%)". - Troque o
0fixo pela fórmula de participação quando a aula 6 estiver concluída. - Numa coluna calculada, normalize o código do produto com
ARRUMAR(ESQUERDA(produto_id; 3))e confira comNUMCARACT(produto_id)quantos caracteres cada código tem antes do corte.
Você terminou quando o rótulo "R$ 1.234,56 (12%)" (com os números do seu grupo de teste) aparecer corretamente formatado no cartão.
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/texto
- formulas/valor
- formulas/concatenar
- formulas/arred
- formulas/dividir
- formulas/esquerda
- formulas/direita
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".