Qlik Community

Qlik Brasil

Welcome to the group for Brazil users. .All discussions will be in Portuguese.

Highlighted
marcelomachado
New Contributor III

Erro subtotal em tabela dinâmica

Bom dia,

Algo que não consigo explicar está ocorrendo na subtotalização de uma coluna numa planilha dinâmica no Qlikview, infelizmente não tenho como postar o qvd pois a empresa não permite, abaixo uma imagem do problema. O interessante é que ocorre somente numa coluna e é erro de somatória, alguém já passou por isso e conseguiu solucionar este problema? aguardo auxilio.

Abraço!

Tags (1)
1 Solution

Accepted Solutions

Re: Erro subtotal em tabela dinâmica

Marcelo, a tabela dinâmica não possui opção de somatório de linhas ou média de linhas, a tabela dinâmica, em seu total, refaz o cálculo sem considerar nenhuma das dimensões e por essa razão o seu número de total não é o que deseja.

Para "forçar" esse somatório, você pode utilizar do recurso de Dimensionality ou Aggr. Note que os dois podem prejudicar a performance de seu gráfico.

Exemplo de expressão para o somatório de linhas:

SUM( AGGR( If((sum({$<Ano={$(=Max(Ano))}>} Quant)/sum({$<Ano={$(=Max(Ano))}>} [COTA ANUAL])) >= 1,(sum({$<Ano={$(=Max(Ano))}>}VL_PREMIO_IND)),0.00), COLUNA_CAMPANHA, COLUNA_REGIONAL, COLUNA_PRODUTO))

Apenas troque as colunas pelos respectivos nomes de seu modelo.

9 Replies
jonas_rezende
Valued Contributor

Re: Erro subtotal em tabela dinâmica

Marcelo Machado.

A minha sugestão é:verificar se os dados: 1. Produto 1, 2. Produto 2, 4. Produto 4 e 5. Produto 5, em Produtos_Campanhas, tem alguma linha duplicada ou a mais, na origem (qvd), fazendo com que some mais de uma vez o valor  1.125,00 em Prêmio.

Os objetos Tabela e Texto poderão ajudá-lo nessa confirmação.

Espero que isso ajude!

joao_sp_campina
Contributor II

Re: Erro subtotal em tabela dinâmica

Envie um qvw de teste para gente tentar de ajudar.

João Carlos Ferreira

Re: Erro subtotal em tabela dinâmica

Disponibilize a formula dessas colunas

marcelomachado
New Contributor III

Re: Erro subtotal em tabela dinâmica

Olá João, infelizmente não posso enviar o qvw, seria importante más não estou autorizado.

Grato,

marcelomachado
New Contributor III

Re: Erro subtotal em tabela dinâmica

Olá Yuri,

A fórmula é a seguinte:

If((sum({$<Ano={$(=Max(Ano))}>} Quant)/sum({$<Ano={$(=Max(Ano))}>} [COTA ANUAL])) >= 1,(sum({$<Ano={$(=Max(Ano))}>}VL_PREMIO_IND)),0.00)

Uma condicional onde o Consultor atingindo 100% ou mais da meta no determinado produto ele ganha o prêmio naquele produto, na tabela isto funciona corretamente como pode perceber na imagem enviada, o problema é na totalização desta coluna que totaliza incorretamente.

Re: Erro subtotal em tabela dinâmica

Marcelo, a tabela dinâmica não possui opção de somatório de linhas ou média de linhas, a tabela dinâmica, em seu total, refaz o cálculo sem considerar nenhuma das dimensões e por essa razão o seu número de total não é o que deseja.

Para "forçar" esse somatório, você pode utilizar do recurso de Dimensionality ou Aggr. Note que os dois podem prejudicar a performance de seu gráfico.

Exemplo de expressão para o somatório de linhas:

SUM( AGGR( If((sum({$<Ano={$(=Max(Ano))}>} Quant)/sum({$<Ano={$(=Max(Ano))}>} [COTA ANUAL])) >= 1,(sum({$<Ano={$(=Max(Ano))}>}VL_PREMIO_IND)),0.00), COLUNA_CAMPANHA, COLUNA_REGIONAL, COLUNA_PRODUTO))

Apenas troque as colunas pelos respectivos nomes de seu modelo.

marcelomachado
New Contributor III

Re: Erro subtotal em tabela dinâmica

Perfeito Yuri, funcionou como deveria!

Muito obrigado pela ajuda.

Re: Erro subtotal em tabela dinâmica

No post anterior esqueci de explicar, mas o SUM e AGGR vai forçar a tabela dinâmica fazer o cálculo sempre considerar cada uma das dimensões e somando os resultados, assim o seu total passa a ser o Somatório das linhas.

Caso queira a média, então troque por AVG, o maior número, troque por MAX, etc...

pauloandre
Contributor II

Re: Erro subtotal em tabela dinâmica

nicolett.yuri,

possuo na tabela abaixo a seguinte expressão:

if(

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

(Count(DISTINCT CLIE_NR_MATRICULA) / first(Count(DISTINCT CLIE_NR_MATRICULA))), 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 CLIE_NR_MATRICULA) / first(Count(DISTINCT CLIE_NR_MATRICULA)))>0,

(Count(DISTINCT CLIE_NR_MATRICULA) / first(Count(DISTINCT CLIE_NR_MATRICULA))), Null()), Dimesao1, Dimensao2))

e não tive sucesso.

Poderia me ajudar?

tabdinamica.JPG