- 25 Mai 2022 às 18:36
#70989
Tenho uma lista de estoque com vários lotes (não há valor repetido) e o código do material daquele lote. Um material pode ter vários lotes. Cada lote tem uma data de vencimento, com uma coluna de dias até o dia do vencimento
Tenho também uma tabela com os códigos e o nome do produto, a dCalendário e a base de demanda. A base de demanda é por código e dia, exemplo: tenho uma demanda de 10 para o produto 123 daqui 5 dias.
A dCalendário e base de códigos tem relacionamento com a demanda e estoque, mas a demanda e estoque não tem relacionamento entre si pois seria muitos para muitos e existem valores repetidos de código nas duas.
Meu problema é: quero a soma da demanda ATÉ O DIA DE VENCIMENTO DE UM LOTE. Se esse lote for o mais antigo, então quero que a demanda seja consumida dele. Para o próximo lote quero somar o que restou da demanda do lote anterior + a demanda até o dia de vencimento desse próximo lote, e assim para cada código e consequentemente cada lote. Mas quero que isso seja mostrado para cada linha do estoque, ou seja, para cada lote.
Exemplo:
Lote 1 = 10
Dias até Vencimento Lote 1 = 5
Lote 2 = 20
Dias até vencimento Lote 2 = 8
Demanda 1= 15
Dias até demanda 1 = 4
Demanda 2 = 20
dias até demanda 2 = 7
CONSUMO 1= DEMANDA 1 - LOTE 1 = 15 - 10 = 5 de sobra de demanda
Porém, temos mais uma demanda antes do lote 2 vencer e a sobra da demanda 1:
CONSUMO 2 = CONSUMO 1 + DEMANDA 2 -LOTE 2 = 5 + 20 - 20 = 5 de sobra de demanda
E assim por diante, até acabar os lotes do código. Então, passamos para o próximo código
A fórmula que tenho usado até o momento, mas não são os resultados que eu quero apresentar
[Demanda] = SUM('Demanda (2)'[Demanda])
Requerido =
CALCULATE([Demanda],
FILTER(
ALL('Demanda (2)'[SKU]),
[Nº Material]='Demanda (2)'[SKU]
)
,FILTER(
ALL('Demanda (2)'),
[Dias até vencimento]<=[Dias até vencimento]
)
)
OBSERVAÇÃO: a prioridade é que sempre o lote que vai vencer antes seja consumido antes
Tenho também uma tabela com os códigos e o nome do produto, a dCalendário e a base de demanda. A base de demanda é por código e dia, exemplo: tenho uma demanda de 10 para o produto 123 daqui 5 dias.
A dCalendário e base de códigos tem relacionamento com a demanda e estoque, mas a demanda e estoque não tem relacionamento entre si pois seria muitos para muitos e existem valores repetidos de código nas duas.
Meu problema é: quero a soma da demanda ATÉ O DIA DE VENCIMENTO DE UM LOTE. Se esse lote for o mais antigo, então quero que a demanda seja consumida dele. Para o próximo lote quero somar o que restou da demanda do lote anterior + a demanda até o dia de vencimento desse próximo lote, e assim para cada código e consequentemente cada lote. Mas quero que isso seja mostrado para cada linha do estoque, ou seja, para cada lote.
Exemplo:
Lote 1 = 10
Dias até Vencimento Lote 1 = 5
Lote 2 = 20
Dias até vencimento Lote 2 = 8
Demanda 1= 15
Dias até demanda 1 = 4
Demanda 2 = 20
dias até demanda 2 = 7
CONSUMO 1= DEMANDA 1 - LOTE 1 = 15 - 10 = 5 de sobra de demanda
Porém, temos mais uma demanda antes do lote 2 vencer e a sobra da demanda 1:
CONSUMO 2 = CONSUMO 1 + DEMANDA 2 -LOTE 2 = 5 + 20 - 20 = 5 de sobra de demanda
E assim por diante, até acabar os lotes do código. Então, passamos para o próximo código
A fórmula que tenho usado até o momento, mas não são os resultados que eu quero apresentar
[Demanda] = SUM('Demanda (2)'[Demanda])
Requerido =
CALCULATE([Demanda],
FILTER(
ALL('Demanda (2)'[SKU]),
[Nº Material]='Demanda (2)'[SKU]
)
,FILTER(
ALL('Demanda (2)'),
[Dias até vencimento]<=[Dias até vencimento]
)
)
OBSERVAÇÃO: a prioridade é que sempre o lote que vai vencer antes seja consumido antes