Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Prezados,
estou com um problema na construção da tabela dinâmica.
Possuo uma tabela dinâmica onde o campo 'Conta' é uma dimensão calculada com a seguinte expressão
=if(DATA_E1_EMISSAO<=vDataSel,%Conta,
if(DATA_E1_EMIS1<=vDataSel,ContaOrig,%Conta))
e o valor da expressão calculado (Operacional Estático) é
=if(DATA_E1_EMISSAO<=vDataSel,
Sum(if( DATA_E1_EMISSAO<=vDataSel and (len(DATA_E1_BAIXA)=0 or DATA_E1_BAIXA>vDataSel), E1_VALOR)),
if(DATA_E1_EMIS1<=vDataSel,
Sum(if( DATA_E1_EMIS1<=vDataSel and (len(DATA_E5_BAIXA)=0 or DATA_E5_BAIXA>vDataSel), E1_VALOR)),
Sum(if( DATA_E1_EMISSAO<=vDataSel and (len(DATA_E1_BAIXA)=0 or DATA_E1_BAIXA>vDataSel), E1_VALOR))
))
e a tabela gerada é:
!
Porem, ao mudar para tabela simples o total encontrado é outro:
E exportando a listagem para o excel e criando tabela dinâmica pela conta obtenho o seguinte resultado:
Podemos verificar que os resultados é diferente na conta 10105010. Com isso gostaria de saber se existe a possibilidade de apresentar o valor 'real' utilizando tabela dinâmica do QV??
Abraços, Paulo André
O total da tabela dinâmica refaz a sua expressão sem considerar as dimensões.
Quando a expressão é simplesmente um SUM(CAMPO), automaticamente o total estará correto, o problema é quando você começa a utilizar IFs.
A dica para que o seu total seja o somatório de linhas é utilizar o AGGR na sua expressão, por exemplo:
Se sua expressão for: SUM(if( CAMPO = 'x', VALOR))
e suas dimensões: MES e PRODUTO
Você deve alterar sua expressão para:
SUM(AGGR( SUM(if( CAMPO = 'x', VALOR)), MES, PRODUTO))
Assim sua tabela dinâmica calculará o somatório das linhas no total.
As vezes ele está duplicando algum valor nesse campo, já tentou usar o distinct só para confirmar?
O total da tabela dinâmica refaz a sua expressão sem considerar as dimensões.
Quando a expressão é simplesmente um SUM(CAMPO), automaticamente o total estará correto, o problema é quando você começa a utilizar IFs.
A dica para que o seu total seja o somatório de linhas é utilizar o AGGR na sua expressão, por exemplo:
Se sua expressão for: SUM(if( CAMPO = 'x', VALOR))
e suas dimensões: MES e PRODUTO
Você deve alterar sua expressão para:
SUM(AGGR( SUM(if( CAMPO = 'x', VALOR)), MES, PRODUTO))
Assim sua tabela dinâmica calculará o somatório das linhas no total.
Yuri,
já tentei utilizar o AGGR, porém como utilizo uma dimensão calculada não deu certo (talvez não tenha feito da forma correta).
E a própria expressão de cálculo possui algumas condicionais onde acredito que o AGGR fica 'perdido'
Já conseguiu resolver? Se sim, nos ajude a manter o forum organizado, marcando uma das respostas como "Correta" para fechar o tópico.