Problemas em calcular porcentagem

614 views
Skip to first unread message

wellington chagas

unread,
May 14, 2012, 12:18:56 PM5/14/12
to jasperreports-...@googlegroups.com
Fala galera. Seguinte, estou com problemas para calcular uma coluna de porcentagem no ireport. meu relatorio deveria ficar assim:

valor  | porcentagem
60     | 30% 
40     | 20%
100   | 50%
200   | 100%  <- totais

ou seja, tenho uma varivel $V{SOMA} que calcula os valores da coluna  'valor', e no final tenho um variavel totalizadora chamada $V{TOTAL_SOMA} que calcula o valor final(200 neste exemplo). O problema que na hora de calcular a porcentagem eu faço mais ou menos isso: $V{SOMA}.multiply(new BigDecimal("100")).divide($V{TOTAL_SOMA}, 2, RoundingMode.UP)

O problema é que ele usa o valor 'parcial' da variavel $V{TOTAL_SOMA} em cada registro, ou seja, ele não usa o valor final dela(neste caso 200), então não consigo obter os valores corretos, os valores de porcentagem em relação ao valor total.

Fiz um exemplo simples so pra mostrar meu problema. no arquivo .rar em anexo eu coloquei o arquivo .jrxml + fonte de dados(xml) + arquivo UNIDADE_GESTORA.xls.

Extrair o UNIDADE_GESTORA.xls para a unidade C: e no ireport restaurar a fonte de dados salva em XML.

Obrigado a todos.
--
                       

Oracle Certified Professional, Java SE 6 Programmer

           Bacharel em Ciência da Computação 

exemplo.rar

Élysson Mendes Rezende

unread,
May 14, 2012, 2:08:43 PM5/14/12
to jasperreports-...@googlegroups.com
Não sei se dará certo, mas você vai ter que passar o valor total para ele ir achando a porcentagem do valor e vai somando a porcentagem numa váriavel.
Por exemplo: 

varPocentagem = 0
varPorcentagem += 30
...

Dai imprime o conteúdo do varPorcentagem para a coluna de porcentagem

OBS: eu não consegui rodar o exemplo

2012/5/14 wellington chagas <wellingt...@gmail.com>



--
Élysson MR
Talk/Email: elys...@gmail.com
MSN:         elys...@live.com
Skype:       elyssonmr
Twitter:       @elyssonmr

wellington chagas

unread,
May 14, 2012, 2:26:16 PM5/14/12
to jasperreports-...@googlegroups.com
esse é o problema, nao sei como 'chamar' o valor total, pois o valor total é calculado em cada iteracao com o propriedade calculation igual a SUM, entao nao sei como usar esse valor total, pois qnd utilizo ele ainda esta com um valor parcial(ainda esta incrementando), e nao o valor realemnte total. Obrigado pela ajuda. Pq nao conseguiu rodar o exemplo, faltou algo pra eu mandar? Estou usando o ireport 4.1.3

Élysson Mendes Rezende

unread,
May 14, 2012, 2:35:34 PM5/14/12
to jasperreports-...@googlegroups.com
Não sei o motivo heheheh
eu descompactei tudo no disco C, criei o datasource para o XML e tentei executar.

2012/5/14 wellington chagas <wellingt...@gmail.com>

wellington chagas

unread,
May 14, 2012, 2:56:05 PM5/14/12
to jasperreports-...@googlegroups.com
Porem o arquivo UNIDADE_GESTORA.xls tem q esta na raiz da unidade C: e nao dentro de alguma pasta. o caminho deve ser esse: C:/UNIDADE_GESTORA.xls

Depois disso importar a fonte de dados do arquivo fonte_de_dados.xml, se marcar ela como a principal
apos abrir o modelo UNIDADE_GESTORA.jrxml no ireport
e apos executar

vlw.
Reply all
Reply to author
Forward
0 new messages