iReport como fazer coluna de porcentagem buscando do banco de dados

olá,

tenho que montar um relatório onde vou mostrar algumas porcentagens e tenho a duvida so seguinte
como posso fazer onde a porcentagem é :

peso1 =( total peso1 /150)*100 —> minha duvida esse 150 seria a quantidade de usuarios que digitou
no sistema e teria que usar o comando no banco (select count(distinct(usuario)) from compras ) para chegar
nesse valor.

Duvidas :

como poderia fazer essa query abaixo já usando o total de 150 no iReport é possivel ou tem outro jeito pra fazer.

Se alguém puder me ajudar agradeceria.

abs

–query que consigo o total de peso está faltando divididr 150 conforme formula acima


select estado , count(peso1),count(peso2),count(peso3), count(peso4)
from compras
group by estado

Cara sua pergunta está um pouco confusa. Você poderia explicar melhor. Para fazer uma porcentagem você precisa de um valor de referencia. Ou seja A equivale a tantos porcento de B. Nesta caso B é a sua referência.

Supondo ter um total de coisas que chamarei de TOTAL, para saber quantos porcentos um valor qualquer chmado VALOR eu usaria a seguinte equação:

(VALOR * 100) / TOTAL

Se isso for algum exercicio tente passar o enunciado do exericio, descrever a estrutura da tabela que voce está utilizando também ajuda. Talvez aí fica mais facil.

Olá,

tenho duas tabelas onde o relatório vai ficar no formato abaixo

resultado


PERGUNTA                      Peso1   Peso2   Peso3    Peso4
=====================================
Resposta 1                       10%      30%     45%       23%
Resposta 2                       1%         3%       4 %        2%
Resposta 3                       3%          5%      8%         9%

minha duvida como montar a query onde tenho que apurar antes da query abaixo
quantidade pessoas que votaram por exemplo 150 pessoas --> select distinct(count(nm_professor) from resposta_professor…

Como faria essa formula --> para apurar 150 no ireport não sei como fazer …

queria um caminho para finalizar isso …pois penso queria ficar assim select a.nm_pergunta_professor,b.count(b.peso1)/totalprofessores pesoa1,b.count(b.peso2) peso2,

como crio essa varial totalprofessores pegando essa informação do banco de dados???

abs


delimiter $$

CREATE TABLE `pergunta_professor` (
  `id_pergunta_professor` bigint(20) NOT NULL AUTO_INCREMENT,
  `nm_pergunta_professor` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id_pergunta_professor`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1$$

--
delimiter $$

CREATE TABLE `resposta_professor` (
  `id_resposta_professor` bigint(20) NOT NULL AUTO_INCREMENT,
  `pontua1` int(11) DEFAULT NULL,
  `pontua2` int(11) DEFAULT NULL,
  `pontua3` int(11) DEFAULT NULL,
  `pontua4` int(11) DEFAULT NULL,
  `nm_professor` varchar(255) DEFAULT NULL,
  `id_pergunta_professor` bigint(20) DEFAULT NULL,
  PRIMARY KEY (`id_resposta_professor`),
  KEY `FK66CC42D1DC101ACF` (`id_pergunta_professor`),
  CONSTRAINT `FK66CC42D1DC101ACF` FOREIGN KEY (`id_pergunta_professor`) REFERENCES `pergunta_professor` (`id_pergunta_professor`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1$$


select a.nm_pergunta_professor,b.count(b.peso1) pesoa1,b.count(b.peso2) peso2,
                                               b.count(b.peso3) peso3,b.count(b.peso4) peso4
from pergunta_professor a,
        resposta_professor b
where a.id_pergunta_professor=b.id_pergunta_professor