Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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
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.
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.
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.
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()).
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
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.
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
Victor, voce teria como disponibilizar o QVW para eu tentar ajudar?
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.
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