Ir para conteúdo
  • 0

Cálculo estoque vs vendido


edmar
Ir para solução Solucionado por Joao Barbosa ,

Pergunta

  • Alunos

 

 

Olá Pessoal boa noite, 

Estou tentando por alguns dias fazer uma medida dax que faça o acumulado inverso e me mostre o saldo em estoque de um produto após a venda:

no exemplo abaixo do periodo de venda selecionado para o produto x no dia 21/10 ele começou com 100 em estoque  e na tabela a esquerda houveram 32 vendas daquele item então sendo assim queria uma medida que mostrasse o saldo que agora é 68 nesse exemplo e ai no dia 22/10 houve mais 17 itens vendidos então 68-17 = 51, depois no dia 23 mais um vendido 51-1 = 50,  e por fim no dia 25/10 mais itens vendidos então 50-2 = 48 e ai no dia 26/10 houve mais um registro de estoque no valor de 10, então nesse caso esse 48 seria somado com a ultima posicao que no exemplo seria 10 totalizando 58, e nesse mesmo dia houveram 3 itens vendidos então o saldo ficaria 55 no dia 27/10 entraram mais 168 no estoque ficando no total 223 e ai nesse mesmo dia houveram 18 vendas, então 223-18, então meu saldo atual seria 205

image.png.0e858adca05e2d75bbd75e60ccf4b228.png

Em anexo também deixei uma imagem do modelo de dados que utilizo, nele tem os itens a chave é o cod que é o codigo do produto.

se precisarem de alguma base de exemplo posso disponibilizar. desde já obrigado à aqueles que puderem ajudar.

image.png

Link para o comentário
Compartilhar em outros sites

13 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução
23 minutos atrás, edmar disse:

Ola @Joao Barbosa então eu descobri o problema é que na minha tabela de vendas, tem registros do passado e que na tabela de estoque so tinha de certa data em diante então as datas do passado de vendas que não tinham registro de estoque ai o acumulado ficava começando la das datas da venda, você sabe se tem como eu no calculo sempre considerar a partir da primeira data que tem registro no estoque para iniciar o calculo? para contar esse cenário?

Cara veja o novo pbix que anexei acho que vai dar certo.

468075128_TestesEstoquevsvendido_Verso2.pbix

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Olá @Michele, bom dia muito obrigado por disponibilizar seu tempo em me ajudar.

eu analisei sua solução e fiz alguns testes e tem alguns detalhes eu cadastrei mais um produto para confrontrar e eu preciso que ele calcule por data e produto, eu peguei o seu pbix e inseri um novo produto e coloquei num segmentador e ele não calcula por produto, o saldo do estoque fica fixo eu coloquei chop e o saldo fica 78.

image.png.02065e305bee04f49d26f54977e91be2.png

 

e quando coloco agua sem gás o 78 fica la como se fosse estático

image.png.9e0c9a2d0e2a15e49cbe82f8bf292b38.png

 

o meu modelo está exatamente como o seu porém com mais produtos e acho que por esse motivo o calculo ficou bem diferente devido a isso, por ter mais produtos e eles precisam ser levados em conta na hora do calculo.

image.png.1858e5737f0896c3dc4e9bab1f977ac9.png

 

image.png.401033149ca31469e13440c59538bf3d.png

 

Saldo (Estoque) =
VAR vQtdVendidaAcumulada =
CALCULATE(
SUM(f_Dados[Quantidade]),
FILTER(
ALL(f_Dados),
f_Dados[Data] <=MAX('dCalendário'[Data])
)
)
VAR cQtdeEstoqueAcumulado =
CALCULATE(
SUM(f_Saldo_Estoque[Qtd Estoque]),
FILTER(
ALL(f_Saldo_Estoque),
f_Saldo_Estoque[Data] <=MAX('dCalendário'[Data])
)
)
RETURN
cQtdeEstoqueAcumulado - vQtdVendidaAcumulada

TestesEstoquevsvendido_Versão 2.pbix

Editado por edmar
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
23 horas atrás, edmar disse:

Olá @Michele, bom dia muito obrigado por disponibilizar seu tempo em me ajudar.

eu analisei sua solução e fiz alguns testes e tem alguns detalhes eu cadastrei mais um produto para confrontrar e eu preciso que ele calcule por data e produto, eu peguei o seu pbix e inseri um novo produto e coloquei num segmentador e ele não calcula por produto, o saldo do estoque fica fixo eu coloquei chop e o saldo fica 78.

image.png.02065e305bee04f49d26f54977e91be2.png

 

e quando coloco agua sem gás o 78 fica la como se fosse estático

image.png.9e0c9a2d0e2a15e49cbe82f8bf292b38.png

 

o meu modelo está exatamente como o seu porém com mais produtos e acho que por esse motivo o calculo ficou bem diferente devido a isso, por ter mais produtos e eles precisam ser levados em conta na hora do calculo.

image.png.1858e5737f0896c3dc4e9bab1f977ac9.png

 

image.png.401033149ca31469e13440c59538bf3d.png

 

Saldo (Estoque) =
VAR vQtdVendidaAcumulada =
CALCULATE(
SUM(f_Dados[Quantidade]),
FILTER(
ALL(f_Dados),
f_Dados[Data] <=MAX('dCalendário'[Data])
)
)
VAR cQtdeEstoqueAcumulado =
CALCULATE(
SUM(f_Saldo_Estoque[Qtd Estoque]),
FILTER(
ALL(f_Saldo_Estoque),
f_Saldo_Estoque[Data] <=MAX('dCalendário'[Data])
)
)
RETURN
cQtdeEstoqueAcumulado - vQtdVendidaAcumulada

TestesEstoquevsvendido_Versão 2.pbix 47 kB · 0 downloads

Bom Dia! 
@edmar ao invés de all usa allselected  isso deve resolver seu problema.

 

468075128_TestesEstoquevsvendido_Verso2.pbix

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Olá @Joao Barbosa boa tarde obrigado, pelo apoio, então vejo que estamos quase la porém tem mais um detalhe ao que parece a ultima linha não está fazendo o item corretamente veja

image.png.8c57a578ed271cbf775eee42dec2749c.png

chegou na ultilma linha era pra ter feito 55-18 = 37,acredito que tenha que fazer em contexto de linha, já tentei com diversas formas e não deu.

fato esse que quando eu não seleciono nenhum produto o calculo se perde

image.png.8a21208b02e7c7be3cd93157d6ef6e06.png

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
13 minutos atrás, edmar disse:

Olá @Joao Barbosa boa tarde obrigado, pelo apoio, então vejo que estamos quase la porém tem mais um detalhe ao que parece a ultima linha não está fazendo o item corretamente veja

image.png.8c57a578ed271cbf775eee42dec2749c.png

chegou na ultilma linha era pra ter feito 55-18 = 37,acredito que tenha que fazer em contexto de linha, já tentei com diversas formas e não deu.

fato esse que quando eu não seleciono nenhum produto o calculo se perde

image.png.8a21208b02e7c7be3cd93157d6ef6e06.png

@edmar vamos lá :

sobre a primeira questão não creio esta errado pois no pbix podemos ver que no dia 27/10 tem uma entrada de estoque como imagem abaixo então seria 55+ 168 - 18 = 205.


 

 

imagem1.png.4753e9b149223826ee205f3a89541b96.png

 

Sobre o cálculo se perder quando se tira os filtros fiz de um outro jeito que acho que vai dar certo:

imagem2.png.ad9223bf45bd85104684f19c5b3a8b13.png

468075128_TestesEstoquevsvendido_Verso2.pbix

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
11 minutos atrás, edmar disse:

Olá @Joao Barbosa testei aqui e não entendi os valores vieram bem diferentes,

 

vou te mandar mais detalhes do modelo e campos talvez seja isso só pode.rs

o calculo está exatamente identic, não sei o que pode ser.

Saldo Estoque:

image.png.9e3235f7f61a0e99f2b178daeae501b5.png

calendário

image.png.3abb695b47c17a86bb1c08ccb54aa61a.png

tabela itens 

image.png.a0f03480fe3b802372b357714a48f106.png

 

Tabela Vendas

image.png.de725e18e689048e56bc13cbc935fdff.png

 

Tabela Estoque

image.png.ebee31a3c1bba9c89122089e5e1ed8b8.png

 

image.png.dec7e25dc3a8fab2f6dc14e83d45eb63.pngimage.png.c1b16735a286249ce1569e08ee035224.png

Cara muito estranho , você não consegue picotar os dados so desse periodo ai e mandar essa base sua não?

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Ola @Joao Barbosa então eu descobri o problema é que na minha tabela de vendas, tem registros do passado e que na tabela de estoque so tinha de certa data em diante então as datas do passado de vendas que não tinham registro de estoque ai o acumulado ficava começando la das datas da venda, você sabe se tem como eu no calculo sempre considerar a partir da primeira data que tem registro no estoque para iniciar o calculo? para contar esse cenário?

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