Skip to main content
Announcements
Live today at 11 AM ET. Get your questions about Qlik Connect answered, or just listen in. SIGN UP NOW
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