Re: etude statistique

Posté par drcharly93 le 22/12/2009 15:07:55
Bonjour,

Avec un peu de réflexion, on essaie toujours de partir du plus simple.

Le besoin
Ressortir en pourcentage le taux de réponse à chaque option de chacune des questions.

Quels sont les éléments disponibles
Certainement une table [tblQuestions] qui va contenir :
- Le n° de la question [IdQuestion]
- un champ pour la réponse 1 [Reponse1]
- Un champ pour la réponse 2 [Reponse2]
- Un champ pour la réponse 3 [Reponse3]

Métodologie
Pour chaque question il faut créer une requête qui va retourné le nombre de réponse par option
Ces réponses seront stockées en mémoire

//On créer une première requête pour lister les questions
RsQuestion est une source de donnees
RsReponse est une source de données
sSql est une chaine

sSql = "SELECT Distinct IDQuestion, "0" AS Q1, "0" AS Q2, "0" AS Q3, "0" AS NbRep FROM tblQuestions ORDER BY IDQuestion"

SI Pas HexecuteRequeteSql( RsQuestion, HRequêteDefaut, sSql) Alors
 Erreur(HErreurInfo())
 Retour
Fin

//On parcours toutes les questions
Pour tous RsQuestion
  sSql = "SELECT COUNT(IdQuestion) AS NbRep, SUM(Reponse1) AS R1, SUM(Reponse2) AS R2, SUM(Reponse3) AS R3 FROM tblQuestions WHERE IdQuestion = " + RsQuestion.IdQuestion

  SI Pas HexecuteRequeteSql( RsReponse, HRequêteDefaut, sSql) Alors
    Erreur(HErreurInfo())
  Retour
  Fin
  RsQuestion.Q1 = RsReponse.R1
  RsQuestion.Q2 = RsReponse.R2
  RsQuestion.Q3 = RsReponse.R3
  RsQuestion.NbRep = RsReponse.NbRep
  HModifie(RsQuestion)
Fin 


A partir d'ici vous posséder d'une source de données en mémoire qui toutes les valeurs nécéssaires pour avoir vos résultats.
Il vous suffit de parcourir la source de données pour afficher les résultats sachant que:
(RsQuestion.Q1 / RsQuestion.NbRep) * 100 = <Taux de réponse en option1 sur la question en cours>

Tout ceci est théorique, saisie à la volée et peut comporter des erreurs

Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=20&topic_id=6322&post_id=25045