Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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:
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
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
))
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
))
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
)
Obrigado, pessoal.
Utilizei a solução do Yuri e deu certo.
Muito obrigado mesmo.
Atenciosamente,
Renato Adolfs