Pular para o conteúdo

SALDO_INICIAL / SALDO_FINAL

Aula 10 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: Distinguir saldo de soma

Selo de estado: Preview (teto atual do produto) · Curso ACD-320 — Fórmulas pt-BR: de SOMA a CALCULAR · Aula 10 de 13 · Atualizado em 2026-10-04.

Objetivo#

Ao final desta aula você vai distinguir saldo de soma.

Vídeo#

Identificador no manifesto: acd-320-10-saldos-e-estoque · duração-alvo 6 min · tela do produto: /dashboards.

Roteiro:

#CapítuloMinutagem-alvoRota
1Abertura — por que SOMA(saldo) dá o número errado00:00–01:00/dashboards
2SALDO_FINAL — a foto do último dia com lançamento01:00–02:40/dashboards (biblioteca de medidas)
3SALDO_INICIAL — o espelho no primeiro dia02:40–03:50/dashboards (editor de fórmulas)
4O argumento de período: GRUPO, MES, TRI, ANO03:50–05:00/dashboards (editor de fórmulas)
5Encerramento — "faça você mesmo"05:00–06:00/dashboards

Conteúdo#

Estoque, saldo bancário, saldo de conta contábil — qualquer grandeza que é uma foto em um instante, não um fluxo que se acumula somando. Somar o saldo de todos os dias do mês dá um número sem sentido de negócio; esta aula ensina as duas funções que pegam a foto certa.

O problema: saldo não é aditivo

código
SOMA(coluna)
formula
SOMA(saldo)

Se a tabela tem uma linha de saldo por dia (1000 no dia 5, 1500 no dia 20), SOMA(saldo) dá 2500 — um número que não corresponde a nada: não é o saldo de nenhum dia real, é a soma de duas fotos diferentes. O saldo do mês é uma das duas fotos, não a soma delas.

SALDO_FINAL — o último dia COM lançamento

código
SALDO_FINAL(expr; arg2; [arg3])

DIFERE do DAX (CLOSINGBALANCEMONTH/QUARTER/YEAR, três funções separadas): aqui é uma função só, com o período como argumento — "GRUPO" (padrão, o próprio grupo do visual), "MES", "TRI" ou "ANO". Devolve o valor no último dia com lançamento do período — pula dias sem movimento no fechamento, não é "o último dia do calendário".

formula
SALDO_FINAL(SOMA(saldo); data; "MES")
EntradaFórmulaResultado
saldos 1000 (05/03) e 1500 (20/03), período MESSALDO_FINAL(SOMA(saldo); data; "MES")1500

Alias: closingbalance.

SALDO_INICIAL — o espelho, primeiro dia COM lançamento

código
SALDO_INICIAL(expr; arg2; [arg3])

Mesmo argumento de período do SALDO_FINAL; devolve o valor no primeiro dia com lançamento do período.

formula
SALDO_INICIAL(SOMA(saldo); data; "MES")
EntradaFórmulaResultado
saldos 1000 (05/03) e 1500 (20/03), período MESSALDO_INICIAL(SOMA(saldo); data; "MES")1000

Alias: openingbalance.

Combinando os dois: a variação do período

SALDO_FINAL(...) - SALDO_INICIAL(...) dá a variação do saldo dentro do período — útil para "quanto o estoque subiu ou caiu este mês", sem depender de ter um lançamento em todo dia do calendário.

formula
SALDO_FINAL(SOMA(saldo); data; "MES") - SALDO_INICIAL(SOMA(saldo); data; "MES")

O argumento de período, com outro grão de eixo

O padrão "GRUPO" usa o próprio recorte do visual — então o mesmo SALDO_FINAL(SOMA(saldo); data) (sem o terceiro argumento) muda de significado dependendo de como a tabela está montada: numa tabela por semana, "GRUPO" dá o saldo do último dia com lançamento daquela semana; numa tabela por filial, dá o saldo do último dia com lançamento daquela filial no período inteiro mostrado. Informar "MES"/"TRI"/"ANO" explicitamente é o que torna a medida independente da granularidade do eixo — ela sempre fecha o mês (ou trimestre, ou ano) calendário, não importa como a tabela está organizada.

formula
SALDO_FINAL(SOMA(saldo); data)

Por que "último dia COM lançamento" importa

Se o workspace não lança movimento em fim de semana, um SALDO_FINAL que buscasse "o último dia do calendário" (31 de um mês que cai num domingo sem lançamento) devolveria vazio ou um valor desatualizado. Buscar o último dia com lançamento é o que faz o saldo de fechamento bater com o extrato real do banco ou com a contagem física de estoque — mesmo quando a última movimentação foi dia 28.

As duas funções, resumidas

FunçãoAliasFoto de qual diaDAX
SALDO_FINALclosingbalanceúltimo dia com lançamento≠ DAX (uma função, não três)
SALDO_INICIALopeningbalanceprimeiro dia com lançamento≠ DAX (uma função, não três)

O produto não tem um "SALDO_MEDIO" — se você precisar da média do saldo diário (em vez da foto de abertura/fechamento), use MEDIA(saldo) mesmo, porque aí a média é o que você quer agregar, e não uma foto de um instante.

Erros comuns

formula-errada
SOMA(saldo)

Compila sem erro de sintaxe, mas é o erro conceitual mais comum desta aula: soma fotos de dias diferentes e produz um número sem significado de negócio. Use SALDO_FINAL/SALDO_INICIAL.

  • Esquecer o argumento de período e assumir que "GRUPO" (o padrão) sempre significa "o mês" — ele significa o grupo do visual, que pode ser o mês, o dia, a semana, dependendo de como você montou o eixo.
  • Informar um período fora da lista aceita: o motor avisa com SALDO_FINAL: período deve ser "GRUPO", "MES", "TRI" ou "ANO".

Estado da capacidade

Time intelligence sobre calendário configurável (C06.4) está em Preview — SALDO_FINAL/SALDO_INICIAL usam a mesma base de janelas de PRIMEIRA_DATA/ULTIMA_DATA (aula 8).

Faça você mesmo#

No workspace de treino Aurora Varejo (abra /dashboards no console):

  1. Crie a medida Saldo final do mês com SALDO_FINAL(SOMA(saldo); data; "MES").
  2. Crie Saldo inicial do mês com SALDO_INICIAL(SOMA(saldo); data; "MES").
  3. Compare as duas com SOMA(saldo) no mesmo visual e confirme que os três números divergem.
  4. Crie Variação de saldo com SALDO_FINAL(SOMA(saldo); data; "MES") - SALDO_INICIAL(SOMA(saldo); data; "MES").

Você terminou quando as três medidas de saldo existirem e você conseguir explicar, com os números do seu visual, por que SOMA(saldo) não serve para essa grandeza.

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#

C06.4 — o selo exibido na aula é sempre o estado mais conservador entre as capacidades citadas; nada aqui é "GA".

Carregando seu progresso…