Fórum porcentagem #278094
20/04/2005
0
O meu sistema é Uma Pesquisa de Satisfação, onde são entrevistadas as pessoas por Fábrica onde tenho 16 questões e são gravadas as opiniões nos campos Bom, Regular, Ruim e Nulo. Preciso fazer a porcentagem de cada uma das opções: Bom, Regular, Ruim e Nulo, observando qual a fábrica e qual o nº da questão...
Queria saber a maneira mais fácil de fazer isso, posso fazer usando SQL?, se minha tabela é do paradox???
Obriagada.
Daia
Curtir tópico
+ 0Posts
20/04/2005
Fred
Gostei + 0
20/04/2005
Rjun
Embora Paradox não seja algo que tenha muito conhecimento, como você esta usando TTable acho que nõa ha como usar SQL.
Gostei + 0
20/04/2005
Rjun
Esqueça a asneira que acabei de postar. Você pode usar SQL sim. Coloque a estrutura da tabela que fica mais facil pra ajudar.
Gostei + 0
20/04/2005
Daia
dbPesquisa NumPergunta Fábrica Bom Regular Ruim
17FILIAL1000
26FILIAL1000
35_2FILIAL1000
45_1FILIAL1000
55FILIAL1000
64_2FILIAL1000
74_1FILIAL1000
84FILIAL1000
93_2FILIAL1000
103_1FILIAL1000
113FILIAL1000
122_3FILIAL1000
132_2FILIAL1000
142_1FILIAL1000
152FILIAL1000
161FILIAL1000
177MATRIZ000
186MATRIZ000
195_2MATRIZ000
205_1MATRIZ000
215MATRIZ000
224_2MATRIZ000
234_1MATRIZ000
244MATRIZ000
253_2MATRIZ000
263_1MATRIZ000
273MATRIZ000
282_3MATRIZ000
292_2MATRIZ000
302_1MATRIZ000
312MATRIZ000
321MATRIZ000
Este são os dados que tenho gravados na minha tabela...
é isso que tu precisa???
Gostei + 0
20/04/2005
Daia
SELECT * FROM DBPESQUISA WHERE FABRICA=´MATRIZ´ AND NUMPERGUNTA=´1´
mas aí preciso fazer o label receber este resultado, não consegui...
Gostei + 0
20/04/2005
Rjun
1) Os campos BOM/REGULAR/RUIM serão totalizados a cada resposta ?
2) Existem valores 2_3, 3_2. São números de perguntas ?
3) Você quer uma porcentagem de respostas for filial ? Ex:
Filial 1/ Pergunta 1 => Bom= 30; Ruim = 20; Regular = 15;
resultado
Bom = 46,15¬
Ruim = 30,76¬
Regular = 23,09¬
É isso ?
Gostei + 0
20/04/2005
Daia
Sim
Gostei + 0
20/04/2005
Rjun
Em vez de usar SQL, crie mais tres campos na tabela para guardar a porcentagem de cada resposta. No evento BeforePost faça os calculos para guardar a porcentagem.
PRegular = Regular / (Regular+Bom+Ruim) * 100;
PRuim = Ruim / (Regular+Bom+Ruim) * 100;
PBom = Bom / (Regular+Bom+Ruim) * 100;
Gostei + 0
20/04/2005
Daia
Só não entendi porque (Regular+Bom+Ruim) somas estes valores??
Gostei + 0
20/04/2005
Rjun
Como você faria o cálculo das porcentagens ?
Gostei + 0
20/04/2005
Daia
Sei lá, eu imaginava isso...
Gostei + 0
20/04/2005
Daia
Gostei + 0
20/04/2005
Rjun
134 * 100 / 100 = 134¬
Pela sua 2ª fórmula :
134 / 100 * 100 = 134¬.
Para achar a porcentagem voce deve dividir o total de respostas que voce quer (regular) pelo total geral de respostas dadas (regular+bom+ruim) e multiplicar por 100.
Gostei + 0
20/04/2005
Daia
Coloquei no BeforePost o seguinte código, mas não dá certo...
Mas se eu fizer como tu falou ele vai pegar todos os Regular, ruim e bom, pois não estou especificando fabrica na hora de gravar, preciso fazer esta porcentagem por fábrica e NumPergunta...
Pesquisa.FieldByName(´PBom´).AsString := (Pesquisa.FieldByName(´Bom´).AsString / (Pesquisa.FieldByName(´Regular´).AsString + Pesquisa.FieldByName(´Ruim´).AsString + Pesquisa.FieldByName(´Bom´).AsString) * ´100´
Gostei + 0
20/04/2005
Daia
Pesquisa.FieldByName(´PBom´).Value := (Pesquisa.FieldByName(´Bom´).Value / (Pesquisa.FieldByName(´Regular´).Value + Pesquisa.FieldByName(´Ruim´).Value + Pesquisa.FieldByName(´Bom´).Value)) * 100;
mas dá um erro de Invalid Floating Operator
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)