Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

Calcul automatique en fonction de réponses précédentes

  • rodparis
  • rodparis's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
8 years 5 months ago #128377 by rodparis
---Version 2.05+ Build 150520---

Bonjour à tous,

Je viens pour prendre conseil sur une possibilité de LS que je n'arrive pas à mettre en oeuvre.
En gros, je souhaite calculer une moyenne et l'afficher en fonction des réponses numérique saisies dans un groupe du questionnaire.
Explications :
Groupe 1 :
- Question Note1 : Saisissez votre note en Bio sur 10
- Question Note2 : Saisissez votre note en Meca sur 10
- Question Note3 : Saisissez votre note en Phys sur 10

Groupe 2:
- Question Affichage : Votre note moyenne est de x / 10 (et c'est là que je souhaite que LS calcul la moyenne des 3 notes précédemments saisies).

Quelqu'un saurait-il svp ?

Merci par avance
The topic has been locked.
  • Nickko
  • Nickko's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
8 years 5 months ago #128391 by Nickko
Tu peux regarder du côté des équations (je suis désolé, je n'ai pas le temps de développer mais ça te donne déjà une piste).

Nickko
Head of ergonomics, UX & UI.
The topic has been locked.
  • rodparis
  • rodparis's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
8 years 5 months ago #128417 by rodparis
j'avais effectivement regardé du côté des équations mais impossible de faire quoi que se soit.
Par exemple si je nomme les questions comme suivant
Note1
Note2
Note3

Et bien par exemple le if(is_empty(Note1), "pas de note", Note1) ne fonctionne pas dans un groupe suivant.
De plus, quelle fonction pour faire une moyenne ?
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
8 years 5 months ago #128424 by DenisChenu
Salut,

La question Note1 est bien une question unique (pas avec sous questions) ?
Tu pense bian à ajouter { et } ?

sinon:
{sum(Note1.NAOK,Note2.NAOK,Note3.NAOK)/count(Note1.NAOK,Note2.NAOK,Note3.NAOK)}

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
The topic has been locked.
  • rodparis
  • rodparis's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
8 years 5 months ago #128446 by rodparis
Merci Denis. J'avance mais cela ne fonctionne toujours pas.
En fait les étudiants saisissent leur note dans une question de type Tableau. Donc la réponse se trouve dans un SQ001.
La fonction que tu décris fonctionne parfaitement pour des saisies dans des question de type entrée numérique mais pas pour les tableaux ... une solution ?
The topic has been locked.
  • rodparis
  • rodparis's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
8 years 5 months ago #128448 by rodparis
Oups : J'ai vu le soucis : Note1_SQ001.NAOK devrait résoudre le soucis ;-)

Merci pour l'info
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
8 years 5 months ago #128451 by DenisChenu

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
The topic has been locked.
  • rodparis
  • rodparis's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
8 years 5 months ago #128610 by rodparis
Merci Denis.

J'ai bien regardé mais je ne comprends pas comment dans l'affichage limiter à 2 digits après la virgule ainsi que comment conditionner une question avec le résultat du calcul ...
Un éclairage svp ?

Cdt
The topic has been locked.
More
8 years 5 months ago #128617 by Ben_V
voici le principe :
Code:
{round(sum(Note1_SQ001.NAOK,Note1_SQ002.NAOK,Note1_SQ003.NAOK)/3, 2)}

Résultat à 2 décimales après la virgule pour la somme de 3 variables, le tout divisé par 3 (en clair: lamoyenne)
ex:
{round(sum(4,4,2)/3, 2)} affichera 3.33 (10/3)

(Je sais que ce n'est pas exactement ce que tu cherches mais il te suffira d'adapter ;) )

Benoît

EM Variables => bit.ly/1TKQyNu | EM Roadmap => bit.ly/1UTrOB4
Last Releases => 2.6x.x goo.gl/ztWfIV | 2.06/2.6.x => bit.ly/1Qv44A1
Demo Surveys => goo.gl/HuR6Xe (already included in /docs/demosurveys)
The following user(s) said Thank You: rodparis
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
8 years 5 months ago #128627 by DenisChenu
ET pou la condition,
Par exemple dans l'"Équation du filtre conditionnel "
Code:
sum(Note1_SQ001.NAOK,Note1_SQ002.NAOK,Note1_SQ003.NAOK)/3 > 0.5

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
The following user(s) said Thank You: rodparis
The topic has been locked.
  • rodparis
  • rodparis's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
8 years 4 months ago - 8 years 4 months ago #128813 by rodparis
Merci pour vos réponses.
Je trouve que le fonctionnement des équations est "un poil" tordu car par exemple je souhaite faire apparaître une question "SOUTIEN" dans une question suivante (avec apparition de la question SOUTIEN si une ou plusieurs des Note1_SQ001 Note2_SQ001 Note3_SQ001 est inférieure ou égale à 5). Dans cette question je souhaite dire :
Vous avez communiqué une note inférieure ou égale à 5 pour la/les matière(s) suivante(s) : xxxx,xxxx

Le pb est que je si je fais {(if Note1_SQ001.NAOK <=5,"Bio","") OR (if Note2_SQ001.NAOK <=5,"Méca","") OR (if Note3_SQ001.NAOK <=5,"","Phys")} ça ne fonctionne pas ...

Bug ou erreur de rédaction ?
Last edit: 8 years 4 months ago by rodparis. Reason: Error
The topic has been locked.
More
8 years 4 months ago - 8 years 4 months ago #128817 by Ben_V

rodparis wrote: Je trouve que le fonctionnement des équations est "un poil" tordu

Je ne vois vraiment pas en quoi; Ce système fonctionne très bien, se basant sur une logique très rigoureuse sans quoi rien ne serait possible.

rodparis wrote: Bug ou erreur de rédaction ?

Révise bien ton expression et tu auras la réponse...
Juste à première vue, ce que tu cherches serait bien plus proche de:
Code:
{(if Note1_SQ001.NAOK <=5,"Bio","")} {(if Note2_SQ001.NAOK <=5,"Méca","")} {(if Note3_SQ001.NAOK <=5,"","Phys")}

Benoît

EM Variables => bit.ly/1TKQyNu | EM Roadmap => bit.ly/1UTrOB4
Last Releases => 2.6x.x goo.gl/ztWfIV | 2.06/2.6.x => bit.ly/1Qv44A1
Demo Surveys => goo.gl/HuR6Xe (already included in /docs/demosurveys)
Last edit: 8 years 4 months ago by Ben_V.
The following user(s) said Thank You: rodparis
The topic has been locked.
Moderators: Nickko

Lime-years ahead

Online-surveys for every purse and purpose