Skip to main content
Announcements
Live today at 11 AM ET. Get your questions about Qlik Connect answered, or just listen in. SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
branderbwcs
Contributor III
Contributor III

Manipulação do totalizador em tabela dinâmica

Pessoal, boa tarde!

Preciso saber como faço para manipular o "Modo Total" quando utilizo uma tabela dinâmica. Utilizo a tabela dinâmica para exibir a quantidade de clientes em um determinado período (Mês/Ano), mas o totalizador necessita ser o de média. Ao utilizar a tabela simples o Qlikview permite alterar o modo total e mudo para média, mas meu cliente gostou muito da exibição e impressão da tabela dinâmica e necessita que fosse implementado isso lá.

Alguém tem alguma sugestão do que pode ser feito?

Att,

Brander Weten.

Labels (2)
1 Solution

Accepted Solutions
nicolett_yuri

O modo total da tabela dinâmica não pode ser alterado por padrão, porém você consegue manipular através da função AGGR.

Exemplo:

Dimensão: MêsAno

Expressão: SUM(Valor)

Quero que o total seja a média por MêsAno, desta forma devo substituir a expressão para:

AVG( AGGR( SUM(Valor), MêsAno)).

Isso pode ser feito por aggr, pois esse comando funciona como se fizesse um Loop do cálculo, desta forma, imagine que enquanto o cálculo estiver sendo realizado para cada mês (Jan/2014, Fev/2014 ...), ele vai fazer a média de somente um valor dimensão, que é o próprio valor, porém quando chegar no totalizador, ele realizará a média de todos os valores da dimensão.

View solution in original post

4 Replies
rphpacheco
Creator III
Creator III

Utilize a função Dimensionality() em uma condicional.

O total de uma tabela dinâmica sempre será 0, então podes fazer If(Dimensionality() = 0, Avg(<Campo>), <Expressão>)

Abs.

nicolett_yuri

O modo total da tabela dinâmica não pode ser alterado por padrão, porém você consegue manipular através da função AGGR.

Exemplo:

Dimensão: MêsAno

Expressão: SUM(Valor)

Quero que o total seja a média por MêsAno, desta forma devo substituir a expressão para:

AVG( AGGR( SUM(Valor), MêsAno)).

Isso pode ser feito por aggr, pois esse comando funciona como se fizesse um Loop do cálculo, desta forma, imagine que enquanto o cálculo estiver sendo realizado para cada mês (Jan/2014, Fev/2014 ...), ele vai fazer a média de somente um valor dimensão, que é o próprio valor, porém quando chegar no totalizador, ele realizará a média de todos os valores da dimensão.

branderbwcs
Contributor III
Contributor III
Author

Vlw pessoal deu certo aqui com a função Aggr, só não entendi muito bem o funcionamento da função Dimensionality().

rphpacheco
Creator III
Creator III

Olá Brander.

A função dimensionality() retorna o valor hierárquico da tabela.

Como pode ver na figura abaixo, o total da tabela terá o '0' como valor:

Dimensionality.jpg

Sendo assim, você poderia identificar qual o nível da sua hierarquia e aplicar cálculos específicos. No seu caso a combinação do Avg() com Aggr() me parece a solução mais adequada. Mas quando temos regras diferentes para cada nível de nossa hierarquia, a função Dimensionality() pode ser muito útil.

Abs.