Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
pauloandre
Contributor 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?

Tags (1)
1 Solution

Accepted Solutions
pauloandre
Contributor II

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

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))

7 Replies

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

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
Contributor II

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

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...

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

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
Contributor II

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

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))

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

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

pauloandre
Contributor II

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

Yuri,

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

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

Então funciona