Ir para conteúdo
  • 0

Saldo Acumulado DAX


Michele Tempos Sarai
Ir para solução Solucionado por Michele Tempos Sarai ,

Pergunta

  • Alunos

Estou com uma dificuldade para montar uma lógica de cálculo de Saldos

Explicarei o que necessito fazer

1º Calcular o saldo das movimentações anteriores. (tabela fsaldos). Este cálculo eu realizei e é este:

image.png.3b8f6492318ee8e895d7c77510257df8.png

 

2º Realizar um cálculo de saldo para as Previsões.
Este cálculo, deverá ser acumulado linha a linha e deverá obedecer os limites de data inicial e final. Isto é, só pode começar a acumular, a partir do primeiro dia selecionado no filtro (Observação: Eu fiz o cálculo, mas não sei se é a melhor maneira de realiza-lo)
image.png.205d991f3dc27b319023f55c9ccc4202.png

image.png.56ca623ecb981618e03775a53f061f09.png

 

3º Terei que somar o Saldo Inicial no Saldo das Previsões
Então, é uma outra coluna com o saldo acumulado, somando o Saldo Inicial para a primeira linha e depois, continuará com o cálculo do acumulado

 

Por exemplo:

image.png.f728e8c8435acffdb741234a5756693f.png

 

image.png.383f82eb623f7158b4a2ccd9c7a9f7dd.png


 

 

4º Terei que fazer uma visão por dia e categorias de ocorrência, mas, trazendo o saldo final do dia (o que será feito na 3ª Etapa)
Eu tentei montar a visão, mas o Saldo Final aparece em branco, por isso que comentei que não sei se é a melhor forma de realizar o cálculo.

 

image.png.bd8648f1f127236b2fccb862d2d3eb01.png



O arquivo PBI + excel encontra-se no arquivo Previsao.rar

Obrigada pela ajuda, já dediquei um bom tempo em tentar solucionar e não consegui

 

Previsao.rar

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução

@Fabio.Ramos, boa noite
Obrigada pela sujestão, mas eu já tinha conseguido resolver o caso. Comentei, anteriormente nas respostas, mas ainda não tinha colocado a solução, vou detalhar a soluçao

 

1ª para as medidas que já estavam prontas, mantive a mesma lógica.

2º Criei um Medida "Saldo Ajustado", para somar o Saldo das contas correntes, apenas na primeira linha do contexto

 

Saldo Ajustado =
 
VAR _contexto_Id_Fluxo = SELECTEDVALUE(fFluxoAgrupado[id_Fluxo])
 
VAR _Min_id_fluxo =
 CALCULATE(
 min(fFluxoAgrupado[id_Fluxo]),
 ALLSELECTED(fFluxoAgrupado))
 
VAR _linha1 =
If(SELECTEDVALUE(fFluxoAgrupado[id_Fluxo]) = _Min_id_fluxo,
[Saldo Inicial Final] + [Saldo Linha Fluxo],
[Saldo Linha Fluxo])
 
RETURN
_linha1


 

 

 

3º Em seguida, criei uma medida para fazer o Saldo acumulado, com base no Saldo Ajustado

 

Saldo Previsao =
VAR _contexto_Id_Fluxo = SELECTEDVALUE(fFluxoAgrupado[id_Fluxo])
VAR _Min_id_fluxo = CALCULATE(
                        MIN(fFluxoAgrupado[id_Fluxo]),
                        ALLSELECTED(fFluxoAgrupado))
 
RETURN
    CALCULATE(
        SUMX(
            FILTER(
                ALLSELECTED(fFluxoAgrupado),
                fFluxoAgrupado[id_Fluxo] <= _contexto_Id_Fluxo
            ),
            [Saldo Ajustado]
        )
    )

 

4º Apenas por curiosidade, utilizei o recurso de criação de medidas em visuais e o resultado foi o mesmo

 

Saldo Previsão - Novo = RUNNINGSUM([Saldo Ajustado])

 

Imagens 

image.png.634c7cf0215822e5fa4aacd17bbe37b2.png

  • Like 2
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Suave @Michele Tempos Sarai?

Estou sem o PC hoje então não consigo olhar o modelo. Mas já pensou em utilizar a função WINDOW() para fazer esses cálculos?

 

Ou então as novíssimas Visual Calculations que acabaram de ser lançadas na última versão do Power BI:

 

Com essas duas aí você já consegue facilmente fazer os teus cálculos, já que elas permitem "ancorar" os valores da tabela.

Abs!

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

@Michele Tempos Sarai, boa tarde
e se voce tentar usar a funçao all para selecionar todos os saldos para acumular e depois adicionar um filtro para travar o mes que o usuario esta selecionando? 

EX: 
SomaAcumulada =
VAR DataFinal = SELECTEDVALUE('DCalendario'[Data])
RETURN
CALCULATE(
SUM('Movimentacao'[Saldofinal]),// Soma da coluna Movimentacao
FILTER( ALL('Movimentacao'),
'Movimentacao'[Data] <= DataFinal // Aplica o filtro de data dinâmico
)
)

Link para o comentário
Compartilhar em outros sites

Faça login para comentar

Você vai ser capaz de deixar um comentário após fazer o login



Entrar Agora
×
×
  • Criar Novo...