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

Cálculo de Média em tabela dinâmica

Prezados, possuo nano qvw emnexo a seguinte expressão (objeto 'calc'):

if(

(Count(DISTINCT Qtde) / first(Count(DISTINCT Qtde)))>0,

(Count(DISTINCT Qtde) / first(Count(DISTINCT Qtde))), Null())

e preciso que seja apresentado na linha de Total a média dos valores da coluna. Tentei usar o

Avg(Aggr(

if(

(Count(DISTINCT Qtde) / first(Count(DISTINCT Qtde)))>0,

(Count(DISTINCT Qtde) / first(Count(DISTINCT Qtde))), Null())

, Dim1, Dim2))

e não tive sucesso.

Poderiam me ajudar?

1 Solution

Accepted Solutions
pauloandre
Creator II
Creator II
Author

Yuri,

consegui resolver de outra maneira!!

Como o meu valor de referência além de ser o primeiro valor da linha ele é o maior, com isso utilizei a expressão abaixo e deu certo

Avg(Aggr(

Count(DISTINCT Qtde) / max(total <Dim1> aggr(Count(DISTINCT Qtde),Dim1,Dim2))

,Dim1,Dim2))

View solution in original post

7 Replies
nicolett_yuri

Paulo, o problema é que você esta usando a função First(). Se você estiver usando o QlikView 12, o AGGR ganhou um parâmetro para ordenar a tabela virtual (que é criada quando utilizamos o AGGR) através de uma coluna existente em seu modelo.

Neste post fala mais sobre a função de ordenar a tabela virtual: The sortable Aggr function is finally here!

pauloandre
Creator II
Creator II
Author

Yuri,

Teria alguma solução para essa questão com a versão 11.2??

Se observar o qvw anexado, preciso calcular o % em relação a 1a coluna e em seguida obter a média desses % de cada coluna...

nicolett_yuri

Vou verificar o seu QVW e te informo, mas se depender realmente de ordenação, só na 12 ou então tentar fazer alguma coisa no script

pauloandre
Creator II
Creator II
Author

Yuri,

consegui resolver de outra maneira!!

Como o meu valor de referência além de ser o primeiro valor da linha ele é o maior, com isso utilizei a expressão abaixo e deu certo

Avg(Aggr(

Count(DISTINCT Qtde) / max(total <Dim1> aggr(Count(DISTINCT Qtde),Dim1,Dim2))

,Dim1,Dim2))

nicolett_yuri

Legal, o MAX não precisa de ordenação, mas o maior valor é uma regra?

pauloandre
Creator II
Creator II
Author

Yuri,

isso, o primeiro valor (que no caso também é o maior) é a referência

nicolett_yuri

Então funciona