Usuário com melhor resposta
Erro de Soma com IIF

Pergunta
-
Estou usando um campo de status para mostrar um outro campo de valor com ZERO para que notas canceladas não mostrem seu valores para no total não ser somada, e estou seguindo o mesmo conceito para o total inclusive tem exemplos dessa forma no site da Microsoft, conforme abaixo
= iif (fields!STATUS.Value = "CANCELADO", 0 , Fields!VALOR.Value) essa formula no campo de valor funciona, sempre que o campo status esta cancelado o valor sai zero.
=sum(iif (fields!STATUSLAN.Value = "CANCELADO", 0 , Fields!VALORBRUTOORIG.Value)) a mesma formula no total (linha de somatorio) não funciona apresenta #error.
Alguém tem ideia do que estou fazendo de errado?
Obs. O campo esta formatado para moeda com R$.
Paulo Duarte
Respostas
-
Putz funcionou.
Obrigado, mas não entendi porque não funcionou antes com ZERO, é o exemplo no site MSDN.
De qq forma valeu.
- Marcado como Resposta Paulo R Duarte segunda-feira, 18 de julho de 2016 21:36
Todas as Respostas
-
-
Paulo, bom dia!
Uma vez passei por algo parecido, se não me engano, se você converter o "0" para decimal, sua função vai funcionar.
Faça o teste fazendo favor.
att.
Felipe
- Editado Felipe Duarte (FD) segunda-feira, 18 de julho de 2016 13:42
-
-
-
-
André não entendi bem sua resposta, o que preciso é que quando o campo STATUS for cancelado o campo VALOR seja ZERO para que não exiba nenhum valor do documento, esta formula esta funcionando na linha de detalhe mas quando coloco na linha de TOTAL não funciona dando erro na soma (#Error)
Segue abaixo a linha para detalhe e total.
= iif (fields!STATUS.Value = "CANCELADO", 0 , Fields!VALOR.Value) == linha detalhe
= SUM(iif (fields!STATUS.Value = "CANCELADO", 0 , Fields!VALOR.Value) ) == linha soma
Obs o campo STATUS é um campo "Int" mas na impressão estou fazendo um CASE na consulta que exibe um texto "Cancelado" além de Aberto e Baixado, mas esses dois últimos textos os valores serão exibidos na linha detalhe e somados na linha de total.
Outra coisa o ZERO após o "Cancelado" pode ser colocado como 0.00 já fiz isso e não modifica em nada, e o campo de valor e tipo Money.
-
To achando estranho não funcionar da forma que falei. Tenta assim:
=IIF(fields!STATUSLAN.Value.Equals("CANCELADO"), 0 , SUM(Fields!VALORBRUTOORIG.Value))
- Sugerido como Resposta Junior Galvão - MVPMVP quarta-feira, 20 de julho de 2016 13:43
-
-
-
Paulo, tente assim:
= SUM(iif (fields!STATUS.Value = "CANCELADO", Nothing, Fields!VALOR.Value))
Antero Marques
_______________________________________________________________________________
Se a resposta for útil, marque como útil, se respondeu totalmente sua dúvida, marque como resposta. O Fórum MSDN é utilizado também como base de conhecimento, então é responsabilidade de todos mantê-lo organizado e funcional.
- Editado Antero Marques segunda-feira, 18 de julho de 2016 20:51
- Sugerido como Resposta Junior Galvão - MVPMVP quarta-feira, 20 de julho de 2016 13:43
-
O campo possui valor preenchido, é justamente isso que quero omitir ou seja quando o documento estiver cancelado não quero que apareça e nem que totalize, porque o documento esta cancelado, na linha de detalhe já esta ok, falta a totalização, já tentei várias formas mas nada resolve.
-
Putz funcionou.
Obrigado, mas não entendi porque não funcionou antes com ZERO, é o exemplo no site MSDN.
De qq forma valeu.
- Marcado como Resposta Paulo R Duarte segunda-feira, 18 de julho de 2016 21:36