Pular para o conteúdo

TEXTO, VALOR, CONCATENAR, ESQUERDA/DIREITA, ARRED, DIVIDIR

Aula 4 de 136 minOperarAtualizada em 2026-10-04

Vídeo em produção

A gravação desta aula está no lote de produção. O objetivo, o exercício e a documentação já valem. Duração-alvo: 6 min.

Objetivo: Formatar rótulos; dividir sem erro

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ítuloMinutagem-alvoRota
1Abertura — texto e números no rótulo de um visual00:00–00:30/dashboards
2TEXTO e VALOR — ida e volta número ↔ texto00:30–01:50/dashboards (editor de fórmulas)
3CONCATENAR, ESQUERDA, DIREITA01:50–03:10/dashboards (editor de fórmulas)
4ARRED — arredondar sem confundir com TRUNCAR03:10–04:00/dashboards (editor de fórmulas)
5DIVIDIR — a divisão que nunca quebra o cartão04:00–05:10/dashboards (editor de fórmulas)
6Encerramento — 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

código
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).

formula
TEXTO(SOMA(valor); 2)
EntradaFórmulaResultado
1234,5 com 2 casasTEXTO(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

código
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.

formula
VALOR("1.234,56")

CONCATENAR — quantos textos você quiser

código
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.

formula
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

código
ESQUERDA(expr; arg2)
DIREITA(expr; arg2)

Compatíveis com LEFT/RIGHT. Úteis para padronizar cadastro — CNPJ, SKU, prefixo de código.

formula
ESQUERDA(cnpj; 8)
formula
DIREITA(cnpj; 4)

ARRED — arredonda, não trunca

código
ARRED(expr; [arg2])

Compatível com ROUND: arredonda para o número de casas informado (padrão 0 quando omitido).

formula
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

código
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.

formula
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:

formula
NUMCARACT(cnpj)
formula
ARRUMAR(canal)
formula
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çãoAliasDireçãoDAX
TEXTOformatnúmero → texto≠ DAX (2º arg é nº de casas, não máscara)
VALORvaluetexto → número= DAX
CONCATENARconcatenate, concattextos → 1 texto≠ DAX (aceita N, não só 2)
ESQUERDAleftrecorta início= DAX
DIREITArightrecorta fim= DAX
ARREDroundnúmero → número arredondado= DAX
DIVIDIRdividedivisã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 CONCATENAR esperando 2 argumentos como no DAX — aqui aceita quantos precisar.
  • Dividir direto com / em vez de DIVIDIR quando 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):

  1. Crie uma medida de teste com ARRED(DIVIDIR(SOMA(custo); SOMA(valor)); 2) — a margem arredondada em 2 casas.
  2. Monte o rótulo CONCATENAR("R$ "; TEXTO(SOMA(valor); 2); " ("; TEXTO(0; 0); "%)") e confirme o formato "R$ 1.234,56 (0%)".
  3. Troque o 0 fixo pela fórmula de participação quando a aula 6 estiver concluída.
  4. Numa coluna calculada, normalize o código do produto com ARRUMAR(ESQUERDA(produto_id; 3)) e confira com NUMCARACT(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#

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".

Carregando seu progresso…