Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
guilhermeluvizo
Contributor
Contributor

Gestão de Estoque Histórico

Olá,

Preciso gerar uma tabela utilizando o estoque histórico, e para isso é necessário que o valor a ser mostrado na seleção de estoque seja o Valor da data mais recente dentro da dimensão, e não apenas Sum(estoque)

Quando a dimensão for "DIA", o valor do estoque deve ser mostrado conforme a 3ª coluna, ou seja, o estoque do dia normal.

Visão Dia.PNG

No entanto, quando a dimensão for outra, como "MES", o valor de estoque deve ser mostrado como o do "ultimo dia do mês", assim como ano, que deve ser mostrado como "ultimo dia do ano". Ou seja, sempre o estoque referente ao ultimo dia da dimensão, seja ela de Semana, Mês, Trimestre, Ano.

Utilizei a formula Sum(if(DVT_ID = aggr (NODISTINCT Max(TOTAL DVT_ID), DVT_ID), ESTOQUE))

** DVT_ID = DATA**

Mas ela trás o valor de estoque referente ao ultimo dia do ultimo mês apenas, preciso que ela traga o valor de estoque do ultimo dia de CADA Mês.

Visão Mes.PNG

Podem me ajudar com a formula correta que mostre os valores conforme as regras indicadas?

No mês de janeiro, deve mostrar o estoque referente ao dia 31/jan

No mês de fevereiro, deve mostrar o estoque referente ao dia 28/fev

Mas se eu mudar para uma visão de ano, deve mostrar no ano de 2016, o estoque referente ao dia 31/12/2016, em 2017 o estoque referente ao dia 31/12/2017 e no ano de 2018 o estoque mais recente da base de dados (=yesterday, pois o ano não terminou)

Muito Obrigado!

1 Solution

Accepted Solutions
Thiago_Justen_

E se fizermos assim:

FirstSortedValue(ESTOQUE,-Aggr(Max(DVT_ID),ANO,MES))


Ou

Sum({<DVT_ID={"=Max(Aggr(Max(DVT_ID),ANO,MES))"}>}ESTOQUE)

Ou

Sum(Aggr(Sum(ESTOQUE),Max(DVT_ID)))

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago

View solution in original post

9 Replies
Thiago_Justen_

Guilherme,

Veja se isso é útil:

Saldo Atual:

Sum({1}Aggr(If(DVT_ID = Max(TOTAL DVT_ID), ESTOQUE),DVT_ID))

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
guilhermeluvizo
Contributor
Contributor
Author

olá Thiago,

Na verdade não resultou exatamente o que esperava.

Todos os campos ficaram zerados, vide 4ª Coluna:

Visão Mes-new.PNG

Thiago_Justen_

Sum({1}Aggr(If(DVT_ID = Max(TOTAL <MES> DVT_ID), ESTOQUE),DVT_ID,MES))

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
guilhermeluvizo
Contributor
Contributor
Author

Ainda sem sucesso,

Visão Mes-new-new.PNG

Acredito que o caminho seja uma procura, da Max(DVT_ID), mas n sei que argumentos utilizar.

Por exemplo, uma formula que traga o estoque da data da segunda coluna.

Thiago_Justen_

E se fizermos assim:

FirstSortedValue(ESTOQUE,-Aggr(Max(DVT_ID),ANO,MES))


Ou

Sum({<DVT_ID={"=Max(Aggr(Max(DVT_ID),ANO,MES))"}>}ESTOQUE)

Ou

Sum(Aggr(Sum(ESTOQUE),Max(DVT_ID)))

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
guilhermeluvizo
Contributor
Contributor
Author

Também não está dando certo.

Os argumentos "ANO" e "MES", escrevo ano e mes mesmo? ou coloco Year(dvt_id) e Month(dvt_id)?

Porque escrito ANO e MES aparece simplesmente zerado.

Thiago_Justen_

Se você não tem esses campos sim, coloque as expressões year e month.

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
guilhermeluvizo
Contributor
Contributor
Author

O Year(DVT_ID) e Month(DVT_ID) não funcionou.

Coloquei uma base de Data, Com DATA | MES | ANO, e conectei com a planilha de teste do Estoque.

Colocando os argumentos Mês e Ano como os nomes das colunas deu certo.

Utilizei a expressão

FirstSortedValue(ESTOQUE,-Aggr(Max(DVT_ID), DVT_YEAR, DVT_MONTH))


DVT_ID = Data

DVT_MONTH = Mes

DVT_YEAR = Ano.


Muito Obrigado, Thiago!!

Thiago_Justen_

Sempre à disposição meu caro!

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago