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

Omitir resultados = 0

Pessoal Boa tarde.

Estou tendo uma dificuldade bastante simples creio eu.

Eu tenho uma tabela dinâmica com os seguintes campos:

A minha dificuldade está em exibir somente o campo divergência que for diferente de 0.

Já coloquei o flegado omitir 0 e nulos.

E além disso eu fiz um if que não funcionou:

IF (( FINANCEIRO - CONTABIL_SS_TRA - CONTABIL_SS_OFF) <> 0 ,

(FINANCEIRO - CONTABIL_SS_TRA - CONTABIL_SS_OFF))

Também não obtive sucesso.

Por favor preciso de ajuda,

Obrigado

Labels (1)
1 Solution

Accepted Solutions
mauroponte
Creator II
Creator II

Vitor,

Tente usar uma condicional nas demais expressões para zerá-las, tipo:

if(Divergencia=0,0,sum(Expressao1))

Isso aliado ao parametro para nao exibir valores zeros pode resolver seu problema.

Estou anexando um QVW de exemplo. Analise as difenrenças entra as tabelas e as expressões da tabela Com condicional na expressão.

Espero ter ajudado.

View solution in original post

33 Replies
nicolett_yuri

Victor, o omitir zero só funciona se todas as expressões tiverem o resultado 0, mas no seu caso isso não ocorre devido a, na mesma linha, existirem valores diferentes de zero para as outras expressões.

Para omitir essas linhas, você deve adicionar a condicional de verificação da coluna em todas as expressões.

Anonymous
Not applicable
Author

Yuri, muito obrigado.

Eu já coloquei como condicional o IF e mesmo assim não tive sucesso.

Porem ao invés de usar o nome do campos usei as expressões para o resultado:

if(((sum(saldo)) -

((sum( {$<DIG_STATUS= {'(TRA)'} >}SS_debito ) - sum( {$<DIG_STATUS= {'(TRA)'} >}SS_Credito )) -

(sum( {$<DIG_STATUS= {'(OFF)'} >}SS_debito ) - sum( {$<DIG_STATUS= {'(OFF)'} >}SS_Credito )))) <> 0.00,

((sum(saldo)) -

((sum( {$<DIG_STATUS= {'(TRA)'} >}SS_debito ) - sum( {$<DIG_STATUS= {'(TRA)'} >}SS_Credito )) -

(sum( {$<DIG_STATUS= {'(OFF)'} >}SS_debito ) - sum( {$<DIG_STATUS= {'(OFF)'} >}SS_Credito )))))

Também não consegui.

Além dessa tentativa eu fiz uma outra dessa forma:

Além de estar com o mesmo if da parte superior também está flegado o campo omitir o 0, porém sem sucesso.

Obrigado Yuri.

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Se colocar para mostrar mais casas decimais deve aparecer alguma coisa, tipo 0.0000001 (creio eu)

se colocar um

round(

    if(((sum(saldo)) -

     ((sum( {$<DIG_STATUS= {'(TRA)'} >}SS_debito ) - sum( {$<DIG_STATUS= {'(TRA)'} >}SS_Credito )) -

     (sum( {$<DIG_STATUS= {'(OFF)'} >}SS_debito ) - sum( {$<DIG_STATUS= {'(OFF)'} >}SS_Credito )))) <> 0.00,

     ((sum(saldo)) -

     ((sum( {$<DIG_STATUS= {'(TRA)'} >}SS_debito ) - sum( {$<DIG_STATUS= {'(TRA)'} >}SS_Credito )) -

     (sum( {$<DIG_STATUS= {'(OFF)'} >}SS_debito ) - sum( {$<DIG_STATUS= {'(OFF)'} >}SS_Credito )))))

  ,0.001)

não resolve?

Em tempo de carga não seria melhor, se for zero colocar null()  ?

(Embora o null() neste caso vai mudar o resultado de expressões como o avg() por exemplo que colocaria o zero em uma media mas não entra o null()). 

furtado@farolbi.com.br
Anonymous
Not applicable
Author

Ola boa tarde.

Muito Obrigado pela resposta.

Eu fiz o Round e não funcionou.

Quando coloco para exibir as casas decimais apresenta dessa maneira:

OBRIGADO

mauroponte
Creator II
Creator II

Vitor,

Tente usar uma condicional nas demais expressões para zerá-las, tipo:

if(Divergencia=0,0,sum(Expressao1))

Isso aliado ao parametro para nao exibir valores zeros pode resolver seu problema.

Estou anexando um QVW de exemplo. Analise as difenrenças entra as tabelas e as expressões da tabela Com condicional na expressão.

Espero ter ajudado.

Anonymous
Not applicable
Author

Mauro muito obrigado por responder.

Vamos lá

Eu tentei usando somente o nome da coluna:

if(Divergencia =0,0,sum(saldo))

E tentei também usando a expressão que calcula a divergência:

if(sum(saldo) -  
(sum( {$<DIG_STATUS= {'(TRA)'} >}SS_debito ) - sum( {$<DIG_STATUS= {'(TRA)'} >}SS_Credito )) - 

   (sum( {$<DIG_STATUS= {'(OFF)'} >}SS_debito ) - sum( {$<DIG_STATUS= {'(OFF)'} >}SS_Credito ))=0,0,

   sum( {$<JE_SOURCE= {'(323)'} >}GL_debitoss )  - sum( {$<JE_SOURCE= {'(323)'} >}GL_Creditoss ) )

Não tive sucesso com nenhuma das duas maneiras.

Obrigado

mauroponte
Creator II
Creator II

Victor, voce teria como disponibilizar o QVW para eu tentar ajudar?

mauroponte
Creator II
Creator II

Victor,

alterei um pouco a expressão da divergencia para não ser o valor carregado no script, mas uma expressão resultante de uma formula entre os valores das demais expressões.

Divergencia = expressão1 + Expressão2 - Exressão3, assim fica mais parecido com seu exemplo.

Formula da divergencia:

sum(Expressao1)+sum(Expressao2)-sum(Expressao3)

Formulas das 3 expressões na tabela que omite divergencia zero:

if(sum(Expressao1)+sum(Expressao2)-sum(Expressao3)=0,0,sum(Expressao1))

if(sum(Expressao1)+sum(Expressao2)-sum(Expressao3)=0,0,sum(Expressao2))

if(sum(Expressao1)+sum(Expressao2)-sum(Expressao3)=0,0,sum(Expressao3))

Lembre de marcar o parametro para nao mostrar valores zerados.

Espero que agora consiga atender a dua necessidade.

Segue tambem o QVW alterado.

Anonymous
Not applicable
Author

Mauro infelizmente não estou conseguindo postar um qvw, por causa do tamanho.

Agradeço muito sua ajuda.

Vou colocar um print da minha tabela dinâmica.

Calculo Campo Financeiro:

if(sum(saldo)+

sum( {$<DIG_STATUS= {'(TRA)'} >}SS_debito ) - sum( {$<DIG_STATUS= {'(TRA)'} >}SS_Credito )-

sum( {$<DIG_STATUS= {'(OFF)'} >}SS_debito ) - sum( {$<DIG_STATUS= {'(OFF)'} >}SS_Credito )=0,0,

sum(saldo))

CONTABIL_SS_TRA:

if(sum(saldo)-

sum( {$<DIG_STATUS= {'(TRA)'} >}SS_debito ) - sum( {$<DIG_STATUS= {'(TRA)'} >}SS_Credito )-

sum( {$<DIG_STATUS= {'(OFF)'} >}SS_debito ) - sum( {$<DIG_STATUS= {'(OFF)'} >}SS_Credito )=0,0,

sum( {$<DIG_STATUS= {'(TRA)'} >}SS_debito ) - sum( {$<DIG_STATUS= {'(TRA)'} >}SS_Credito ))

CONTABIL_SS_OFF:

if(sum(saldo)-

sum( {$<DIG_STATUS= {'(TRA)'} >}SS_debito ) - sum( {$<DIG_STATUS= {'(TRA)'} >}SS_Credito )-

sum( {$<DIG_STATUS= {'(OFF)'} >}SS_debito ) - sum( {$<DIG_STATUS= {'(OFF)'} >}SS_Credito )=0,0,

sum( {$<DIG_STATUS= {'(OFF)'} >}SS_debito ) - sum( {$<DIG_STATUS= {'(OFF)'} >}SS_Credito ))

Eu fiz uma outra tabela apenas com o EMPLID e o  campo divergência.

Essa tabela acima, me mostra apenas 350 linhas, que são os ids com divergência , eu queria aplicar essa regra na tabela dinâmica contendo todos os campo.

Muito obrigado