Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
branderbwcs
New 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.

Tags (1)
1 Solution

Accepted Solutions

Re: Manipulação do totalizador em tabela dinâmica

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.

4 Replies
rphpacheco
Contributor III

Re: Manipulação do totalizador em tabela dinâmica

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.

Re: Manipulação do totalizador em tabela dinâmica

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
New Contributor III

Re: Manipulação do totalizador em tabela dinâmica

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

rphpacheco
Contributor III

Re: Manipulação do totalizador em tabela dinâmica

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.