[RESOLVIDO] Calcular porcentagem IR ((TOTAL PEDIDO / TOTAL GERAL) * 100 )

Galera, boa tarde. Estou com uma dificuldade besta.

Preciso pegar a porcentagem dos pedidos analisando o valor total, conta simples

(TOTAL PEDIDO / TOTAL GERAL) * 100

Exemplo

TOTAL.: R$ 578.041,86

1º Pedido.: 293.933,26 = 50,85 %
2º pedido.: 151.981,52 = 26,29 %
3º pedido.: 24.646,94 = 4,26 %
e por ai vai.

Só que o Ireport traz o primeiro valor errado ao fazer o calculo acima.

linha 1 ele coloca .: 100 %
a partir da linha 2 calcula certo.

Já mexi no Evol. time mas nao deu certo.

Alguem já passou por isso e achou solução?

Será que por um infeliz acaso você não está passando o valor total como um valor de pedido? Isso resultaria em 100%.

então…
Não…

Minha variavel de Percentual é.:
($F{Faturado} / $V{TOTAL}) *100

$F{Faturado} Valor da NF.
$V{TOTAL} = TOTAL GERAL.

acho que a sua conta esta errada, acho que vc tem multiplicar por 100 o total pedido e depois dividir pelo total geral…

[code] private Double calculaPercentual(long total, long parte) {

	BigDecimal item = new BigDecimal(total);
	BigDecimal value = new BigDecimal(parte);
	
	if (item.intValue() <= 0) {
		value = new BigDecimal(0);
	} else {
		value = value.multiply(new BigDecimal(100)).setScale(2);
		value = value.divide(item, 2, RoundingMode.FLOOR);
	}
	
	return value.doubleValue();
}[/code]

acho que deve ser assim
(TOTAL PEDIDO * 100) / TOTAL GERAL

carlos.hager

Já havia feito isso, continua na mesma (mesmo resultado.)…

No Sql se eu fizer esse codigo …funciona.
No Java tbm…

O problema está no ireport.

Resolvi…
criei um novo campo com o 'TextField Expression ’ assim.:

new Double( $F{Faturado}.doubleValue() / $V{Faturado_SUM_1}.doubleValue() )

Pattern.:

#,##0.00%

Evaluation Time

Auto

Onde
$V{Faturado_SUM_1} é uma variavel de soma do faturado de cada pedido.