Welcome to the LimeSurvey Community Forum

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

Bilan psychométrique multi score

  • gn1000i100
  • gn1000i100's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
2 months 3 weeks ago - 2 months 3 weeks ago #266129 by gn1000i100
Bilan psychométrique multi score was created by gn1000i100
J'utilise : LimeSurvey Community Edition Version 6.5.18+240723, actuellement en localhost pour expérimenter, à terme, sur mon propre serveur.
Thème : par défaut.
==================
Ma situation :
J'ai une série de questions à choix multiple (QCM).
Pour chaque question, 6 réponses sont possibles et l'utilisateur peut en cocher 1 ou 2 avant de passer à la question suivante.
Les questions sont présentées dans un ordre aléatoire et les réponses également.
Jusqu'ici, pas de problème.

Il n'y a pas de bonne ou mauvaise réponse, mais plusieurs polarités. Chaque réponse augmente le score d'une des polarités.
J'imagine implémenter ça en encodant les polarités en tant que constante dans le champ ( Équation de filtre conditionnel  ) sous la forme :
- polarité 1 : unité
- polarité 2 : milliers
- polarité 3 : millions
- ...
De cette manière je peux renseigner pour chaque réponse un score  (1, 1000, 1000000, ...) qui si je fais ensuite la somme de l'ensemble me fourni les informations suivantes :
- combien de réponses au total ont été cochées. Exemple pour 2 métriques, en pseudo-code avec AI pour arrondi à l'inferieur : AI(score/1000) + AI(score - AI(score/1000))
- combien de réponse dans une des métriques a été coché.

Ainsi je peux calculer le pourcentage de chaque métrique vis-à-vis du total de réponses données et afficher ces pourcentages à l'utilisateur en fin de questionnaire.

Pour ça, j'aurais besoin, si j'ai bien compris, de faire une question équation dans laquelle je fais la somme de toutes les réponses données à un groupe de question, indépendamment des identifiants de question ou de réponse.
1. est-ce possible ?
2. comment faire ?

Puis d'afficher le résultat de cette question équation.

Enfin, et c'est une autre question à part entière, je souhaite afficher un graphique à partir de ces différentes métriques en fin de questionnaire.
Mais cette partie là est traité dans un autre fil de discussion : forums.limesurvey.org/forum/french-forum...0-l-issue-d-un-quizz
Last edit: 2 months 3 weeks ago by gn1000i100.

Please Log in to join the conversation.

  • gn1000i100
  • gn1000i100's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
2 months 3 weeks ago #266131 by gn1000i100
Replied by gn1000i100 on topic Bilan psychométrique multi score
J'ai avancé et réussi à générer à partir d'une question équation le score souhaité avec la formule suivante :
Code:
{if(!is_empty(Q1_R1),1,0)+ if(!is_empty(Q1_R2),1,0)+ if(!is_empty(Q1_R3),1000,0)+ if(!is_empty(Q1_R4),1000,0)+ if(!is_empty(Q1_R5),1000000,0)+ if(!is_empty(Q1_R6),1000000,0)+ if(!is_empty(Q2_R1),1,0)+ if(!is_empty(Q2_R2),1,0)+ if(!is_empty(Q2_R3),1000,0)+ if(!is_empty(Q2_R4),1000,0)+ if(!is_empty(Q2_R5),1000000,0)+ if(!is_empty(Q2_R6),1000000,0)+ if(!is_empty(Q3_R1),1,0)+ if(!is_empty(Q3_R2),1,0)+ if(!is_empty(Q3_R3),1000,0)+ if(!is_empty(Q3_R4),1000,0)+ if(!is_empty(Q3_R5),1000000,0)+ if(!is_empty(Q3_R6),1000000,0)}
Ça marche, mais d'une part, la formule supporte mal les espaces et pas du tout les retours à la ligne, d'autre part, elle est déjà lourde et moche pour 3 questions, alors pour plus ça ne va pas s'arranger.
Ma question précédente reste donc valable :

Pour ça, j'aurais besoin, si j'ai bien compris, de faire une question équation dans laquelle je fais la somme de toutes les réponses données à un groupe de question, indépendamment des identifiants de question ou de réponse.
1. est-ce possible ?
2. comment faire ?

Dans mon idée, ça ressemblerait à ça :
Code:
{sum(G1.map(q=>sum(q.map((r,i)=>if(!is_empty(r),if(i<2,1,if(i>4,1000000),1000),0)))))}
la syntaxe peut être différente mais l'important est, en identifiant le groupe de pouvoir itérer sur ses enfants quel qu'en soit le nombre.
Et pouvoir faire ça en plusieurs lignes pour plus de visibilité serait top s'il y a une astuce pour que la formule reste interprétée.

Please Log in to join the conversation.

  • Joffm
  • Joffm's Avatar
  • Away
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
2 months 3 weeks ago #266132 by Joffm
Replied by Joffm on topic Bilan psychométrique multi score
Mieux,envoyer une exportation lss.Nous saurons alors mieux ce que vous voulez faire.

Volunteers are not paid.
Not because they are worthless, but because they are priceless

Please Log in to join the conversation.

  • gn1000i100
  • gn1000i100's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
2 months 3 weeks ago #266133 by gn1000i100
Replied by gn1000i100 on topic Bilan psychométrique multi score
Voici l'export .lss ;)

Please Log in to join the conversation.

  • Joffm
  • Joffm's Avatar
  • Away
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
2 months 3 weeks ago #266141 by Joffm
Replied by Joffm on topic Bilan psychométrique multi score
Vous pouvez utiliser une question de type « saisie de chiffres » pour enregistrer le résultat.
Dans une question de type « équation », vous calculez.
Vous avez également des lignes ici.
Et il est très facile d'étendre.

{score=intval(Q1_R1.NAOK=='Y')*1}
{score=sum(score.NAOK,intval(Q1_R2.NAOK=='Y')*1)}
{score=sum(score.NAOK,intval(Q1_R3.NAOK=='Y')*1000)}
{score=sum(score.NAOK,intval(Q1_R4.NAOK=='Y')*1000)}
{score=sum(score.NAOK,intval(Q1_R5.NAOK=='Y')*1000000)}
{score=sum(score.NAOK,intval(Q1_R6.NAOK=='Y')*1000000)}
{score=sum(score.NAOK,intval(Q2_R1.NAOK=='Y')*1)}
{score=sum(score.NAOK,intval(Q2_R2.NAOK=='Y')*1)}
{score=sum(score.NAOK,intval(Q2_R3.NAOK=='Y')*1000)}
{score=sum(score.NAOK,intval(Q2_R4.NAOK=='Y')*1000)}
{score=sum(score.NAOK,intval(Q2_R5.NAOK=='Y')*1000000)}
{score=sum(score.NAOK,intval(Q2_R6.NAOK=='Y')*1000000)}
{score=sum(score.NAOK,intval(Q3_R1.NAOK=='Y')*1)}
{score=sum(score.NAOK,intval(Q3_R2.NAOK=='Y')*1)}
{score=sum(score.NAOK,intval(Q3_R3.NAOK=='Y')*1000)}
{score=sum(score.NAOK,intval(Q3_R4.NAOK=='Y')*1000)}
{score=sum(score.NAOK,intval(Q3_R5.NAOK=='Y')*1000000)}
{score=sum(score.NAOK,intval(Q3_R6.NAOK=='Y')*1000000)}

 

File Attachment:

File Name: limesurvey...57_J.lss
File Size:67 KB


Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless

Please Log in to join the conversation.

  • Joffm
  • Joffm's Avatar
  • Away
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
2 months 3 weeks ago #266143 by Joffm
Replied by Joffm on topic Bilan psychométrique multi score
Ou avec la fonction « count() »

{score=sum(count(Q1_R1,Q1_R2,Q2_R1,Q2_R2,Q3_R1,Q3_R2)*1)}
{score=sum(score,count(Q1_R3,Q1_R4,Q2_R3,Q2_R4,Q3_R3,Q3_R4)*1000)}
{score=sum(score,count(Q1_R5,Q1_R6,Q2_R5,Q2_R6,Q3_R5,Q3_R6)*1000000)}


Volunteers are not paid.
Not because they are worthless, but because they are priceless

Please Log in to join the conversation.

  • gn1000i100
  • gn1000i100's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
2 months 3 weeks ago #266144 by gn1000i100
Replied by gn1000i100 on topic Bilan psychométrique multi score
Effectivement la dernière option me semble bien plus concise, et avec les affectations cumulatives, j'ai peut-être une piste pour faire ce que je veux.
Mon enjeu est de pouvoir étendre le questionnaire sans avoir à retoucher la formule, pour pouvoir confier à quelqu'un de moins à l'aise techniquement, mais davantage coté psychométrie, la mise en place des questionnaires.

Pour ça, j'imagine qu'il faudrait que je commence par une question caché "score" que je mets à 0.
Puis, dans chaque question, je mets une formule qui ajoute à score les résultats de la question actuelle avec quelque chose du genre :
Code:
{score=sum(score,count(self_R1,self_R2)+count(self_R3,self_R4)*1000+count(self_R5,self_R6)*1000000)}
De cette manière, en dupliquant la question et en éditant ses libellés, la mécanique de cotation reste fonctionnelle sans avoir à y toucher.

Sinon, sans this/self/that ou sans moyens d'itérer sur toutes les questions d'un groupe sans avoir à les nommer explicitement, ma formule sera fatalement d'autant plus longue et sujette à erreur d'inattention que le formulaire est long.

Pouvez-vous me confirmer qu'aujourd'hui la syntaxe ne permet pas ce type d'itération est que c'est donc coté usage de this/self/that qu'il faut que je creuse ?

Please Log in to join the conversation.

Moderators: Nickkoholchtpartner

Lime-years ahead

Online-surveys for every purse and purpose