Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Valor da coluna anterior utilizando Pivot com tabela dinamica

Bom dia Pessoal,

Criei uma tabela dinâmica utilizando a funcionalidade Pivot (As linhas são as colunas e as colunas as linhas). Para tanto, preciso pegar o valor da coluna anterior (Lembrando que a coluna é uma linha da tabela).

Com a tabela simples utilizo a função Above() e funciona certinho, porem quando mudo para tabela dinâmica com o pivot ela não funciona.

Obs. Que a colunacom % esta capturando o valor da linha anterior.

Estou utilizando a seguinte expressão para pegar o valor da linha anterior: =IF(TIPOMOVIMENTO='VENDA' and (trim(Right(trim(DESCRIREP),1)) = '%'), Above(sum(QUANT)) , SUM( QUANT)   )

Com a utilização do pivot fica assim

Observe que a coluna com o % não esta trazendo valores

Alguem teria alguma sugestão ?

Grato desde já

1 Solution

Accepted Solutions
Not applicable
Author

Olá Aderlan,

Agradeço desde já a ajuda....

Referente o DESCRIREP  a intenção é verificar se o ultimo caractere é igual a '%'. Para tanto, encontrei uma solução mais adequada, que foi acrescentar uma Flag na minha query. Para este item a verificação ficou assim: If(TRIM(TIPOMOVIMENTO) = 'PERCENT',1 ,2 )

E para o problema citado, encontrei uma função para capturar o valor da coluna anterior. a função é a Before().

Exemplo de como ficou a expressão para buscar o percentual:

IF(TRIM(TIPOMOVIMENTO) = 'PERCENT',

                         (Before(SUM(FORMULA_DA_LINHA_COLUNA_ANTERIOR) *100) / BEFORE(SUM(OUTRA_FORMULA_DA_LINHA_COLUNA_ANTERIOR))) ,

                                     SUM(FORMULA_DA_COLUNA_PRINCIPAL))  

Abraços

E obrigado mais uma vez

View solution in original post

2 Replies
aderlanrm
Partner - Specialist
Partner - Specialist

Olá Elton,

Se a intenção com o (trim(Right(trim(DESCRIREP),1)) = '%' é de "contém", recomendo:

index(DESCRIREP,'%') > 0

Se a coluna com % não traz valores, sempre será "falso" o resultado do IF, correto? Logo, nunca executará o Above, pois somente será "verdadeiro" quando as duas condições forem atendidas.

Outro detalhe importante é se o DESCRIREP for uma expressão no gráfico, configurada na aba número ou nas propriedades for marcado como relativo, essa % só existe na "visão", não nos dados, então terá que fazer o calculo diretamente, não referencia uma expressão no objeto.

Abraço.

Aderlan Rodrigues
Analista, Arquiteto de Dados e Piloto Amador Drone FPV
 (41) 9 9917-0869  www.BIdeAZ.com.br  Youtube.com/bideaz  Instagram.com/bideaz.in

"Nada é tão inútil quanto fazer eficientemente o que não deveria ser feito." (Peter Drucker)
Not applicable
Author

Olá Aderlan,

Agradeço desde já a ajuda....

Referente o DESCRIREP  a intenção é verificar se o ultimo caractere é igual a '%'. Para tanto, encontrei uma solução mais adequada, que foi acrescentar uma Flag na minha query. Para este item a verificação ficou assim: If(TRIM(TIPOMOVIMENTO) = 'PERCENT',1 ,2 )

E para o problema citado, encontrei uma função para capturar o valor da coluna anterior. a função é a Before().

Exemplo de como ficou a expressão para buscar o percentual:

IF(TRIM(TIPOMOVIMENTO) = 'PERCENT',

                         (Before(SUM(FORMULA_DA_LINHA_COLUNA_ANTERIOR) *100) / BEFORE(SUM(OUTRA_FORMULA_DA_LINHA_COLUNA_ANTERIOR))) ,

                                     SUM(FORMULA_DA_COLUNA_PRINCIPAL))  

Abraços

E obrigado mais uma vez