Inquiridor
Problema com conversão.

Pergunta
-
Oi galera... Eu estou trabalhando num relatório e preciso trabalhar em uma 'expression' pra obter o resultado de um cálculo, o problema é que ninguém tá conseguindo me ajudar, vou passar um exemplo:
_____________________________________________________________________________________________________________
Vendas total | Vendas_1 | Vendas_2 | Vendas_3 | Qtd Itens Vendidos
______________________________________________________________________________________________________________
100,00 0 100,00 0 1
550,00 50,00 250,00 250,00 8
400,00 0 200,00 200,00 3
_______________________________________________________________________________________________________________
VALOR TOTAL: 1050,00 | 50,00 | 550,00 | 450,00 | 12
_______________________________________________________________________________________________________________
Segue a minha expression para "Vendas total"
= FormatNumber(SUM (Int (IIf (Fields!Auditado.Value >= Fields!Reducao.Value and Fields!Auditado.Value >= Fields!Vendas.Value, FormatNumber ( Fields!Auditado.Value), IIf (Fields!Reducao.Value >= Fields!Vendas.Value, FormatNumber(Fields!Reducao.Value), IIf (Fields!Reducao.Value < Fields!Vendas.Value, FormatNumber(Fields!Vendas.Value), FormatNumber(0,2)))))))
O problema é: Ele me traz valores totalmente errados... Quem puder dar um help, por favor, estou meio que num mato sem cachorro, pois não há absolutamente nada sobre isso em português.
Assunto = dúvida
- Movido Roberto F FonsecaModerator sexta-feira, 20 de julho de 2012 02:40 Movido para um Forum mais adequado (De:SQL Server - Desenvolvimento Geral)
Todas as Respostas
-
porque você precisa usar formatnumber em todas as referencias aos campos? voce pode fazer isso so no resultado final do sum e deixar a expressão muito mais facil de ler.
Eu recomendo a voce quebrar a sua expressão e testar cada parte dela para ver se esta funcionando corretamente. Voce pode explicar o que vc esperaria que essa expressão estivesse fazendo?
Boreki[MSFT] - SQL Server Reporting Services
-
Boreki, eu consegui resolver a primeira questão... É a primeira vez que me deparo com essa síntaxe, estou muito perdido. Mas estou embaraçado mesmo é na segunda:
=FormatNumber (IIf (ReportItems!Auditado_1.Value <> 0,FormatNumber(ReportItems!Auditado_1.Value/ReportItems!Itens_1.Value, 2), FormatNumber(0, 2)))
Se o número for superior a 0, então eu divido o valor das vendas pela quantidade de itens vendidos, isso me dá o resultado da Columa Total itens(Total itens que eu esqueci de postar):
Para agregar a soma, estou fazendo o seguinte:
= FormatNumber( Cdec (SUM (IIf (Fields!Auditado.Value <> 0, (Fields!Auditado.Value / Fields!Itens.Value), FormatNumber (0,2)))))
Deveria me retornar a soma de todos os valores da coluna "Total Itens" mas a expressão só da erro na hora de visualizar o relatório... Poderia me ajudar?
Assunto = dúvida
-
Então, ela funciona perfeitamente sim. O problema é para somar. Ao somar todos os resultados dessa coluna ele da erro.
Assunto = dúvida
- Editado Claudio 007-006 sexta-feira, 20 de julho de 2012 18:14
-
a pergunta persiste. Porque você esta usando formatNumber dentro da expressão? Format number retorna uma string formatada baseada no numero, você nunca deve usar isso dentro de uma função de agregação (como sum). Primeiro faca seus cálculos, depois formate da maneira que você quer mostrar.
Boreki[MSFT] - SQL Server Reporting Services
-
-
-
-
Provável que seja a expressão. Porém, na primeira coluna que eu estava em dúvida (e consegui trazer o resultado) eu apenas peguei a mesma expressão que traz o resultado para a célula e coloquei em outra célula acrescentando o SUM, no meu ponto de vista isso deveria somar todos os valores e apresentá-los.
Assunto = dúvida