Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
CELO_VIEIRA
Contributor
Contributor

Dimensão Calculada - Função Aggr

Pessoal Bom Dia!

Preciso da ajuda dos amigos.

Estou desenvolvendo um Gráfico onde eu preciso demonstrar a variação de Preços Praticados entre o Período Inicial e o Período Final escolhido pelo usuário.

Para isso estou utilizando a função de agregação para restringir apenas o Produtos com vendas efetivas dentro as datas selecionadas.

=IF(aggr(
 (AVG(IF([ANO-MES] = $(Periodo_Inicial),[FAT-IMP]))/AVG(IF([ANO-MES] = $(Periodo_Inicial),[PESO])))
 OR  (AVG(IF([ANO-MES] = $(Periodo_Final),[FAT-IMP]))/AVG(IF([ANO-MES] = $(Periodo_Final),[PESO]))),
UNIDADE,CLIENTE,[GRUPO MATERIAIS],[CODIGO PRODUTO],(DATE($(Periodo_Inicial),'MM/YYYY')),(DATE($(Periodo_Final),'MM/YYYY')))=0,NULL(),1)

mas não esta dando certo.

Alguém tem alguma sugestão.

Obrigado,

Marcelo

1 Solution

Accepted Solutions
Yoshidaqlik
Creator II
Creator II

Certo.

pode adicionar mais um condição antes do calculo

ficaria dessa forma

Sum(
	aggr(
		if(AVG(IF([ANO-MES] = $(Periodo_Inicial),[PESO]))>0 And AVG(IF([ANO-MES] = $(Periodo_Final),[PESO]))>0,
			if(
				(
					AVG(IF([ANO-MES] = $(Periodo_Inicial),[FAT-IMP]))
					/
					AVG(IF([ANO-MES] = $(Periodo_Inicial),[PESO]))
				 )
				 
				 <>  
				 
				 (
					AVG(IF([ANO-MES] = $(Periodo_Final),[FAT-IMP]))
					/
					AVG(IF([ANO-MES] = $(Periodo_Final),[PESO]))
				 ),
				 1
			)
		)
		,
		UNIDADE,
		CLIENTE,
		[GRUPO MATERIAIS],
		[CODIGO PRODUTO],
		[ANO-MES]
	)
)
YoshidaQlik https://www.youtube.com/channel/UC1I9P8MqCZEhB6Nw3FdSqng

View solution in original post

6 Replies
Yoshidaqlik
Creator II
Creator II

Olá tudo bem?

a ideia é contar os produtos que tiveram variação de preço de acordo com todas essas dimensões ?

UNIDADE,
CLIENTE,
[GRUPO MATERIAIS],
[CODIGO PRODUTO],
[ANO-MES]

 

se entendi bem a expressão seria essa

Sum(
	aggr(
		if(
			(
				AVG(IF([ANO-MES] = $(Periodo_Inicial),[FAT-IMP]))
				/
				AVG(IF([ANO-MES] = $(Periodo_Inicial),[PESO]))
			 )
			 
			 <>  
			 
			 (
				AVG(IF([ANO-MES] = $(Periodo_Final),[FAT-IMP]))
				/
				AVG(IF([ANO-MES] = $(Periodo_Final),[PESO]))
			 ),
			 1
		),
		UNIDADE,
		CLIENTE,
		[GRUPO MATERIAIS],
		[CODIGO PRODUTO],
		[ANO-MES]
	)
)
YoshidaQlik https://www.youtube.com/channel/UC1I9P8MqCZEhB6Nw3FdSqng
CELO_VIEIRA
Contributor
Contributor
Author

Oi Yoshida, Bom Dia!

Isso mesmo.

Quando o usuário determina o período inicial e o período final, eu preciso calcular a variação do Preço por KG.

O problema é que existem vendas só na data inicial ou só na data final portanto sem variação e são essas as linhas da tabela que eu preciso restringir

preciso mostrar apenas as linha onde necessariamente existem vendas na duas pontas, ou seja, na data inicial e na data final.

Marcelo

Yoshidaqlik
Creator II
Creator II

Certo.

pode adicionar mais um condição antes do calculo

ficaria dessa forma

Sum(
	aggr(
		if(AVG(IF([ANO-MES] = $(Periodo_Inicial),[PESO]))>0 And AVG(IF([ANO-MES] = $(Periodo_Final),[PESO]))>0,
			if(
				(
					AVG(IF([ANO-MES] = $(Periodo_Inicial),[FAT-IMP]))
					/
					AVG(IF([ANO-MES] = $(Periodo_Inicial),[PESO]))
				 )
				 
				 <>  
				 
				 (
					AVG(IF([ANO-MES] = $(Periodo_Final),[FAT-IMP]))
					/
					AVG(IF([ANO-MES] = $(Periodo_Final),[PESO]))
				 ),
				 1
			)
		)
		,
		UNIDADE,
		CLIENTE,
		[GRUPO MATERIAIS],
		[CODIGO PRODUTO],
		[ANO-MES]
	)
)
YoshidaQlik https://www.youtube.com/channel/UC1I9P8MqCZEhB6Nw3FdSqng
CELO_VIEIRA
Contributor
Contributor
Author

Yoshida, infelizmente não funcionou.

veja que quando o calculo é feito em uma expressão do Gráfico da certo.

IF((AVG(IF([ANO-MES] = $(Periodo_Inicial),[FAT-IMP]))/AVG(IF([ANO-MES] = $(Periodo_Inicial),[PESO]))) AND (AVG(IF([ANO-MES] = $(Periodo_Final),[FAT-IMP]))/AVG(IF([ANO-MES] = $(Periodo_Final),[PESO])))<> null(),1,null())

Yoshidaqlik
Creator II
Creator II

Celo,

pode  colar o gráfico que está tentando utilizar a função ?

YoshidaQlik https://www.youtube.com/channel/UC1I9P8MqCZEhB6Nw3FdSqng
CELO_VIEIRA
Contributor
Contributor
Author

Veja que o período analisado é 08/2018 - 01/2019.

os produtos 57681,54912 e 55029 não tiveram variação de preço. Para esses produtos as vendas aconteceram ou no período inicial ou no final, e são essas linha com valores nulos que eu preciso restringir.

Obrigado,

Marcelo