Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Nov. 20th, Qlik Insider - Lakehouses: Driving the Future of Data & AI - PICK A SESSION
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.