Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Want to see what's currently in public preview? We've pulled it all together in one place. Check it out here
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Agrupamentos e Somas

Boa tarde.

Estou enfrentando uma dificuldade e gostaria de saber se alguém já passou por isto e conseguiu selecionar.

Eu tenho uma tabela com ID_PRODUTO, DATA_COMPRA, VALOR_COMPRA.

Preciso fazer Sum(Valor_compra) onde Data_Compra = Max(Data_compra).

Minha dimensão é ID_PRODUTO e a expressão é "=sum({<DATA_COMPRA = {'$(=max(DATA_COMPRA))'}>} VALOR_COMPRA)"

Porém ele retorna a soma de valor_compra de MAX(Data_Compra) da tabela toda, e não de Max(Data_Compra) de cada produto:

evidencia.png

Nem todos os produtos são comprados no mesmo dia e eu preciso obter o ultimo valor pago na compra.

Alguém poderia me ajudar?

Muito obrigado,

Renato Adolfs

Labels (2)
1 Solution

Accepted Solutions
nicolett_yuri
Partner Ambassador/MVP
Partner Ambassador/MVP

Set Analysis não faz comparação linha a linha como você espera, ele sempre resolve o cálculo para a tabela.

Tente fazer algo desse tipo

SUM(

  if(

  DATA_COMPRA= Aggr( Nodistinct Max( DATA_COMPRA ), ID_PRODUTO),

  VALOR_COMPRA

  ))

View solution in original post

3 Replies
nicolett_yuri
Partner Ambassador/MVP
Partner Ambassador/MVP

Set Analysis não faz comparação linha a linha como você espera, ele sempre resolve o cálculo para a tabela.

Tente fazer algo desse tipo

SUM(

  if(

  DATA_COMPRA= Aggr( Nodistinct Max( DATA_COMPRA ), ID_PRODUTO),

  VALOR_COMPRA

  ))

Clever_Anjos
Support
Support

Set Analysis são avaliados antes das quebras do gráfico, como disse o Yuri, não é avaliado linha a linha

Uma solução seria utilizar

FIRSTSORTEDVALUE(

     AGGR(SUM(VALOR_COMPRA),DATA_COMPRA),

     - DATA_COMPRA

)

Not applicable
Author

Obrigado, pessoal.

Utilizei a solução do Yuri e deu certo.

Muito obrigado mesmo.

Atenciosamente,

Renato Adolfs