Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
marcelomachado
Contributor III
Contributor III

Expressão para cálculo de média considerando apenas mês válido...

Boa tarde Pessoal,

Tenho uma tabela dinâmica onde é apresentado através de uma dimensão calculada a quantidade média por produto num ano considerando apenas os meses que este produto apresentou vendas, com a expressão abaixo consigo a média dos produtos, porém considera sempre 12 meses para calculo quando há algum produto que está presente nos 12 meses.

=Num(round(Aggr(sum({$<Ano={$(=Max(Ano))}>} Quant)/count({$<Ano={$(=Max(Ano))}>}  Distinct Mês),Produtos)),'#.###.###; (#.###.###)')

Conforme o exemplo abaixo:

Mês JANFEVMARABRMAIJUNJULAGOSETOUTNOVDEZTotal
ProdutosQT MÉDIADeveria serUND.UND.UND.UND.UND.UND.UND.UND.UND.UND.UND.UND.UND.
Produto 121.58421.58420.12516.36028.45514.72310.11024.81628.04520.75423.63324.36823.25024.373259.012
Produto 28681.737 (total / 6 meses)5048451.178928364106 1.3651.2971.5214641.84910.421
Produto 33.6393.6392.8912.9884.1064.1043.5733.2203.0693.6834.3373.8333.5544.30843.666

Alguém tem alguma dica de onde está o meu erro?

Grato,

Labels (1)
1 Solution

Accepted Solutions
cesaraccardi
Specialist
Specialist

Ola Marcelo,

Se voce colocar somente o count distinct dentro da funcao Aggr(), qual numero esta retornando?

=Aggr(count({$<Ano={$(=Max(Ano))}>}  Distinct Mês),Produtos)

Se esta retornando 1 eu acredito que talvez seja por causa da dimensao Mes, se for este o caso tente alterar a ordem das dimensoes pra ver se o valor altera.

Abracos,

Cesar

View solution in original post

11 Replies
cesaraccardi
Specialist
Specialist

Ola Marcelo,

Se voce colocar somente o count distinct dentro da funcao Aggr(), qual numero esta retornando?

=Aggr(count({$<Ano={$(=Max(Ano))}>}  Distinct Mês),Produtos)

Se esta retornando 1 eu acredito que talvez seja por causa da dimensao Mes, se for este o caso tente alterar a ordem das dimensoes pra ver se o valor altera.

Abracos,

Cesar

marcelomachado
Contributor III
Contributor III
Author

Olá Cesar,

Realmente muito estranho, pois algumas linhas (Produtos) da tabela aparece a contagem de mês correta e em outras linhas totaliza 12 quando seleciono um ano cheio.

nicolett_yuri

Pode enviar um modelo de seus dados?

cesaraccardi
Specialist
Specialist

Certo, eu acredito que como voce esta usando a funcao Aggr por Produtos o que acontece que quando nao houver vendar para um determinado produto em um determinado Mes o retorno sera diferente de 12.

cesaraccardi
Specialist
Specialist

Experimente substituir o campo Produtos por Ano por exemplo, eu acho que deve funcionar.

cesaraccardi
Specialist
Specialist

Outro detalhe.... talvez voce precise ignorar o campo Produtos no sum de Quant para compensar a mudanca na funcao Aggr:

sum({$<Ano={$(=Max(Ano))},Produtos=>} Quant)

marcelomachado
Contributor III
Contributor III
Author

César, solucionei o problema no próprio script, pois o campo mês era referenciado a varias tabelas o que sujava as informações, criei um novo através do script considerando somente notas fiscais o que corrigiu meu problema.

Muito grato pela ajuda.

cesaraccardi
Specialist
Specialist

Beleza Macelo,

Melhor ainda.

Abraços

Clever_Anjos
Employee
Employee

Já conseguiu a resposta? Se sim, escolha uma e marque como "Correta" para fechar o tópico e nos ajudar a manter a comunidade organizada

Have fun, be Qlik