- Posts: 10
- Thank you received: 0
Welcome to the LimeSurvey Community Forum
Ask the community, share ideas, and connect with other LimeSurvey users!
Faire apparaitre une sous-question directement après une question (randgroup)
- martinbelot
- Topic Author
- Offline
- New Member
Less
More
1 year 4 months ago - 1 year 4 months ago #235589
by martinbelot
Faire apparaitre une sous-question directement après une question (randgroup) was created by martinbelot
Aidez-nous à vous aider et remplissez les cases appropriées :
Votre version de LimeSurvey : Version de votre LimeSurvey : Version 3.27.9+210726.
Votre propre serveur ou LimeSurvey Cloud : Sur le serveur de mon université
Thème : fruity
==================
Bonjour à tous,
J'ai un randomized group de 100 questions dont les réponses sont à chaque fois "oui" ou "non". En fonction de chaque réponse, une sous-question demandant d'expliquer la réponse apparait. Pour cela j'ai utilisé l'outil "fixer des conditions" sur chaque sous-question afin de la faire apparaitre en fonction de la réponse appropriée.
Cependant, mes questions de base apparaissant dans un ordre aléatoire, les sous-questions n'apparaissent pas directement sous les questions auxquelles elles sont liées.
Il y a-t-il un moyen de régler cela?
Merci,
Martin
Votre version de LimeSurvey : Version de votre LimeSurvey : Version 3.27.9+210726.
Votre propre serveur ou LimeSurvey Cloud : Sur le serveur de mon université
Thème : fruity
==================
Bonjour à tous,
J'ai un randomized group de 100 questions dont les réponses sont à chaque fois "oui" ou "non". En fonction de chaque réponse, une sous-question demandant d'expliquer la réponse apparait. Pour cela j'ai utilisé l'outil "fixer des conditions" sur chaque sous-question afin de la faire apparaitre en fonction de la réponse appropriée.
Cependant, mes questions de base apparaissant dans un ordre aléatoire, les sous-questions n'apparaissent pas directement sous les questions auxquelles elles sont liées.
Il y a-t-il un moyen de régler cela?
Merci,
Martin
Last edit: 1 year 4 months ago by martinbelot.
Please Log in to join the conversation.
- Joffm
- Online
- LimeSurvey Community Team
Less
More
- Posts: 12927
- Thank you received: 3978
1 year 4 months ago #235594
by Joffm
Volunteers are not paid.
Not because they are worthless, but because they are priceless
Replied by Joffm on topic Faire apparaitre une sous-question directement après une question (randgroup)
Faites 100 groupes avec deux questions chacun, que vous randomisez.
Veuillez ne pas utiliser le concepteur de condition ; utiliser ExpressionManager
Veuillez ne pas utiliser le concepteur de condition ; utiliser ExpressionManager
Volunteers are not paid.
Not because they are worthless, but because they are priceless
Please Log in to join the conversation.
- martinbelot
- Topic Author
- Offline
- New Member
Less
More
- Posts: 10
- Thank you received: 0
1 year 4 months ago #235598
by martinbelot
Replied by martinbelot on topic Faire apparaitre une sous-question directement après une question (randgroup)
Bonjour, tout d'abord merci pour la réponse.
Cela ne fonctionnera pas je pense car j'ai en fait 3 groupes de 100 questions que je randomise déjà (1 groupe est tiré au hasard parmi les 3). Dans chacun de ces groupes les questions apparaissent de façon aléatoire et c'est sous ces questions que j'aimerais faire apparaitre les sous-questions.
Cela ne fonctionnera pas je pense car j'ai en fait 3 groupes de 100 questions que je randomise déjà (1 groupe est tiré au hasard parmi les 3). Dans chacun de ces groupes les questions apparaissent de façon aléatoire et c'est sous ces questions que j'aimerais faire apparaitre les sous-questions.
Please Log in to join the conversation.
- Joffm
- Online
- LimeSurvey Community Team
Less
More
- Posts: 12927
- Thank you received: 3978
1 year 4 months ago #235599
by Joffm
Volunteers are not paid.
Not because they are worthless, but because they are priceless
Replied by Joffm on topic Faire apparaitre une sous-question directement après une question (randgroup)
Et alors?
Ce n'est pas un obstacle.
Vous disposez alors d'un nombre aléatoire supplémentaire (1-3) pour choisir le grand groupe respectif ;
Comme
G1: Créer le nombre aléatoire {if(is_empty(randnum),rand(1,3),randnum)}
G001 - G100 : Nom de groupe aléatoire GA1, Équation du filtre conditionnel : randnum==1
G101 - G200 : Nom de groupe aléatoire GA2, Équation du filtre conditionnel : randnum==2
G201 - G300 : Nom de groupe aléatoire GA3, Équation du filtre conditionnel : randnum=
Et dans chacun des groupes vos questions. Ceci sans aucune condition
Ce n'est pas un obstacle.
Vous disposez alors d'un nombre aléatoire supplémentaire (1-3) pour choisir le grand groupe respectif ;
Comme
G1: Créer le nombre aléatoire {if(is_empty(randnum),rand(1,3),randnum)}
G001 - G100 : Nom de groupe aléatoire GA1, Équation du filtre conditionnel : randnum==1
G101 - G200 : Nom de groupe aléatoire GA2, Équation du filtre conditionnel : randnum==2
G201 - G300 : Nom de groupe aléatoire GA3, Équation du filtre conditionnel : randnum=
Et dans chacun des groupes vos questions. Ceci sans aucune condition
Volunteers are not paid.
Not because they are worthless, but because they are priceless
Please Log in to join the conversation.
- DenisChenu
- Away
- LimeSurvey Community Team
Less
More
- Posts: 13645
- Thank you received: 2491
1 year 4 months ago - 1 year 4 months ago #235682
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.
Replied by DenisChenu on topic Faire apparaitre une sous-question directement après une question (randgroup)
@Joffm : @martinbelot utilise déjà une méthode pour ne faire apparaître que 10 questions sur les 100 disponibles par groupe .
Voir : forums.limesurvey.org/forum/french-forum...ans-un-groupe#235434
Je ne vois pas personnellement comment gérer cela … avec les conditions sans une solution juste javascript pour faire apparaître les champs texte.
Voir : forums.limesurvey.org/forum/french-forum...ans-un-groupe#235434
Je ne vois pas personnellement comment gérer cela … avec les conditions sans une solution juste javascript pour faire apparaître les champs texte.
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.
Last edit: 1 year 4 months ago by DenisChenu.
Please Log in to join the conversation.
- martinbelot
- Topic Author
- Offline
- New Member
Less
More
- Posts: 10
- Thank you received: 0
1 year 4 months ago #235689
by martinbelot
Replied by martinbelot on topic Faire apparaitre une sous-question directement après une question (randgroup)
Effectivement, j'utilise ce code dans chacune des 100 questions pour en sélectionner 10:
sum(Q1001.relevanceStatus,Q1002.relevanceStatus, Q1003.relevanceStatus, Q1004.relevanceStatus, Q1005.relevanceStatus, Q1006.relevanceStatus, Q1007.relevanceStatus, Q1008.relevanceStatus, Q1009.relevanceStatus,Q1010.relevanceStatus, Q1011.relevanceStatus, Q1012.relevanceStatus, Q1013.relevanceStatus, Q1014.relevanceStatus,Q1015.relevanceStatus, Q1016.relevanceStatus, Q1017.relevanceStatus, Q1018.relevanceStatus, Q1019.relevanceStatus,Q1020.relevanceStatus, Q1021.relevanceStatus, Q1022.relevanceStatus, Q1023.relevanceStatus, Q1024.relevanceStatus,Q1025.relevanceStatus, Q1026.relevanceStatus, Q1027.relevanceStatus, Q1028.relevanceStatus, Q1029.relevanceStatus,Q1030.relevanceStatus, Q1031.relevanceStatus, Q1032.relevanceStatus, Q1033.relevanceStatus, Q1034.relevanceStatus,Q1035.relevanceStatus, Q1036.relevanceStatus, Q1037.relevanceStatus, Q1038.relevanceStatus, Q1039.relevanceStatus,Q1040.relevanceStatus, Q1041.relevanceStatus, Q1042.relevanceStatus, Q1043.relevanceStatus, Q1044.relevanceStatus, Q1045.relevanceStatus, Q1046.relevanceStatus,Q1047.relevanceStatus, Q1048.relevanceStatus, Q1049.relevanceStatus, Q1050.relevanceStatus, Q1051.relevanceStatus,Q1052.relevanceStatus, Q1053.relevanceStatus, Q1054.relevanceStatus, Q1055.relevanceStatus, Q1056.relevanceStatus,Q1057.relevanceStatus, Q1058.relevanceStatus, Q1059.relevanceStatus, Q1060.relevanceStatus, Q1061.relevanceStatus,Q1062.relevanceStatus, Q1063.relevanceStatus, Q1064.relevanceStatus, Q1065.relevanceStatus, Q1066.relevanceStatus,Q1067.relevanceStatus, Q1068.relevanceStatus, Q1069.relevanceStatus, Q1070.relevanceStatus, Q1071.relevanceStatus,Q1072.relevanceStatus, Q1073.relevanceStatus, Q1074.relevanceStatus, Q1075.relevanceStatus, Q1076.relevanceStatus,Q1077.relevanceStatus, Q1078.relevanceStatus, Q1079.relevanceStatus, Q1080.relevanceStatus, Q1081.relevanceStatus,Q1082.relevanceStatus, Q1083.relevanceStatus, Q1084.relevanceStatus, Q1085.relevanceStatus, Q1086.relevanceStatus, Q1087.relevanceStatus, Q1088.relevanceStatus, Q1089.relevanceStatus,Q1090.relevanceStatus, Q1091.relevanceStatus, Q1092.relevanceStatus, Q1093.relevanceStatus, Q1094.relevanceStatus,Q1095.relevanceStatus, Q1096.relevanceStatus, Q1097.relevanceStatus, Q1098.relevanceStatus, Q1099.relevanceStatus,Q1100.relevanceStatus) LT 10
Cela fonctionnera-t-il si je split mes questions en 100 groupes différents?
sum(Q1001.relevanceStatus,Q1002.relevanceStatus, Q1003.relevanceStatus, Q1004.relevanceStatus, Q1005.relevanceStatus, Q1006.relevanceStatus, Q1007.relevanceStatus, Q1008.relevanceStatus, Q1009.relevanceStatus,Q1010.relevanceStatus, Q1011.relevanceStatus, Q1012.relevanceStatus, Q1013.relevanceStatus, Q1014.relevanceStatus,Q1015.relevanceStatus, Q1016.relevanceStatus, Q1017.relevanceStatus, Q1018.relevanceStatus, Q1019.relevanceStatus,Q1020.relevanceStatus, Q1021.relevanceStatus, Q1022.relevanceStatus, Q1023.relevanceStatus, Q1024.relevanceStatus,Q1025.relevanceStatus, Q1026.relevanceStatus, Q1027.relevanceStatus, Q1028.relevanceStatus, Q1029.relevanceStatus,Q1030.relevanceStatus, Q1031.relevanceStatus, Q1032.relevanceStatus, Q1033.relevanceStatus, Q1034.relevanceStatus,Q1035.relevanceStatus, Q1036.relevanceStatus, Q1037.relevanceStatus, Q1038.relevanceStatus, Q1039.relevanceStatus,Q1040.relevanceStatus, Q1041.relevanceStatus, Q1042.relevanceStatus, Q1043.relevanceStatus, Q1044.relevanceStatus, Q1045.relevanceStatus, Q1046.relevanceStatus,Q1047.relevanceStatus, Q1048.relevanceStatus, Q1049.relevanceStatus, Q1050.relevanceStatus, Q1051.relevanceStatus,Q1052.relevanceStatus, Q1053.relevanceStatus, Q1054.relevanceStatus, Q1055.relevanceStatus, Q1056.relevanceStatus,Q1057.relevanceStatus, Q1058.relevanceStatus, Q1059.relevanceStatus, Q1060.relevanceStatus, Q1061.relevanceStatus,Q1062.relevanceStatus, Q1063.relevanceStatus, Q1064.relevanceStatus, Q1065.relevanceStatus, Q1066.relevanceStatus,Q1067.relevanceStatus, Q1068.relevanceStatus, Q1069.relevanceStatus, Q1070.relevanceStatus, Q1071.relevanceStatus,Q1072.relevanceStatus, Q1073.relevanceStatus, Q1074.relevanceStatus, Q1075.relevanceStatus, Q1076.relevanceStatus,Q1077.relevanceStatus, Q1078.relevanceStatus, Q1079.relevanceStatus, Q1080.relevanceStatus, Q1081.relevanceStatus,Q1082.relevanceStatus, Q1083.relevanceStatus, Q1084.relevanceStatus, Q1085.relevanceStatus, Q1086.relevanceStatus, Q1087.relevanceStatus, Q1088.relevanceStatus, Q1089.relevanceStatus,Q1090.relevanceStatus, Q1091.relevanceStatus, Q1092.relevanceStatus, Q1093.relevanceStatus, Q1094.relevanceStatus,Q1095.relevanceStatus, Q1096.relevanceStatus, Q1097.relevanceStatus, Q1098.relevanceStatus, Q1099.relevanceStatus,Q1100.relevanceStatus) LT 10
Cela fonctionnera-t-il si je split mes questions en 100 groupes différents?
Please Log in to join the conversation.
- DenisChenu
- Away
- LimeSurvey Community Team
Less
More
- Posts: 13645
- Thank you received: 2491
1 year 4 months ago #235694
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.
Replied by DenisChenu on topic Faire apparaitre une sous-question directement après une question (randgroup)
Ah,
Tu utilise la méthode du relevanceStatus, attention : elle est moins fiable que celle du groupe séparé.
Tu utilise la méthode du relevanceStatus, attention : elle est moins fiable que celle du groupe séparé.
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.
Please Log in to join the conversation.
- martinbelot
- Topic Author
- Offline
- New Member
Less
More
- Posts: 10
- Thank you received: 0
1 year 4 months ago #235695
by martinbelot
Replied by martinbelot on topic Faire apparaitre une sous-question directement après une question (randgroup)
Pourquoi est-elle moins fiable?
Please Log in to join the conversation.
- DenisChenu
- Away
- LimeSurvey Community Team
Less
More
- Posts: 13645
- Thank you received: 2491
1 year 4 months ago #235710
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.
Replied by DenisChenu on topic Faire apparaitre une sous-question directement après une question (randgroup)
1. elle ne fonctionne que javascript activé
2. Je l'ai vu ne plus fonctionner sur un questionnaire lors d'une mise à jour.
De toutes façon : avec la demande pour la question liée : je pense qu'il faut revoir l'ensemble
Et je n'ai pas d'idée actuellement hors création d'un plugin spécifique
2. Je l'ai vu ne plus fonctionner sur un questionnaire lors d'une mise à jour.
De toutes façon : avec la demande pour la question liée : je pense qu'il faut revoir l'ensemble
Et je n'ai pas d'idée actuellement hors création d'un plugin spécifique
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.
Please Log in to join the conversation.
- Joffm
- Online
- LimeSurvey Community Team
Less
More
- Posts: 12927
- Thank you received: 3978
1 year 4 months ago #235726
by Joffm
Seulement dans l'autre question.
Ici, il a gardé le secret. C'est pour ça que je n'en ai pas tenu compte.
Mais toujours pas un obstacle.
Au début une question "texte court" avec ce script (Q0)
Cela en résulte.
Vous avez donc 10 nombres aléatoires de 1 à 100.
Alors l'équation de pertinence du groupe est plate
G001 : Nom de groupe aléatoire GA1, Équation du filtre conditionnel : randnum==1 AND strpos(Q0,'001/')>0
G002 : Nom de groupe aléatoire GA1, Équation du filtre conditionnel : randnum==1 AND strpos(Q0,'002/')>0
...
G100 : Nom de groupe aléatoire GA1, Équation du filtre conditionnel : randnum==1 AND strpos(Q0,'100/')>0
G101 : Nom de groupe aléatoire GA2, Équation du filtre conditionnel : randnum==2 AND strpos(Q0,'001/')>0
G102 : Nom de groupe aléatoire GA2, Équation du filtre conditionnel : randnum==2 AND strpos(Q0,'002/')>0
...
G200 : Nom de groupe aléatoire GA2, Équation du filtre conditionnel : randnum==2 AND strpos(Q0,'100/')>0
G201 : Nom de groupe aléatoire GA3, Équation du filtre conditionnel : randnum= AND strpos(Q0,'001/')>0
G202 : Nom de groupe aléatoire GA3, Équation du filtre conditionnel : randnum= AND strpos(Q0,'002/')>0
...
G300 : Nom de groupe aléatoire GA3, Équation du filtre conditionnel : randnum= AND strpos(Q0,'100/')>0
Mais la solution utilisant ".relevanceStatus" est bien sûr également bonne.
Joffm
Volunteers are not paid.
Not because they are worthless, but because they are priceless
Replied by Joffm on topic Faire apparaitre une sous-question directement après une question (randgroup)
Je le sais, mais: Cela n'a pas été mentionné jusqu'à présent.@Joffm : @martinbelot utilise déjà une méthode pour ne faire apparaître que 10 questions sur les 100 disponibles par groupe
Seulement dans l'autre question.
Ici, il a gardé le secret. C'est pour ça que je n'en ai pas tenu compte.
Mais toujours pas un obstacle.
Au début une question "texte court" avec ce script (Q0)
Code:
<script type="text/javascript" charset="utf-8"> function shuffle(array) { var currentIndex = array.length, temporaryValue, randomIndex; // While there remain elements to shuffle... while (0 !== currentIndex) { // Pick a remaining element... randomIndex = Math.floor(Math.random() * currentIndex); currentIndex -= 1; // And swap it with the current element. temporaryValue = array[currentIndex]; array[currentIndex] = array[randomIndex]; array[randomIndex] = temporaryValue; } return array; } $(document).on('ready pjax:scriptcomplete',function(){ // Fülle das Array hier Zahlen von 1 - 500 var arr = []; for (var i = 1; i < 101; i++) { var i2='000'+i; arr.push(i2.slice(-3)); } // Würfele durcheinander arr = shuffle(arr); // Nimm die ersten fünf und füge sie zu einem Text zusammen, mit „#“ getrennt arr = arr.slice(0,10).join('/'); // Schreibe die ersten fünf in die Frage $('#question{QID} input[type="text"]').val('/'+arr+'/'); // Verstecke diese Frage // $('#question{QID}').hide(); }); </script>
Vous avez donc 10 nombres aléatoires de 1 à 100.
Alors l'équation de pertinence du groupe est plate
G001 : Nom de groupe aléatoire GA1, Équation du filtre conditionnel : randnum==1 AND strpos(Q0,'001/')>0
G002 : Nom de groupe aléatoire GA1, Équation du filtre conditionnel : randnum==1 AND strpos(Q0,'002/')>0
...
G100 : Nom de groupe aléatoire GA1, Équation du filtre conditionnel : randnum==1 AND strpos(Q0,'100/')>0
G101 : Nom de groupe aléatoire GA2, Équation du filtre conditionnel : randnum==2 AND strpos(Q0,'001/')>0
G102 : Nom de groupe aléatoire GA2, Équation du filtre conditionnel : randnum==2 AND strpos(Q0,'002/')>0
...
G200 : Nom de groupe aléatoire GA2, Équation du filtre conditionnel : randnum==2 AND strpos(Q0,'100/')>0
G201 : Nom de groupe aléatoire GA3, Équation du filtre conditionnel : randnum= AND strpos(Q0,'001/')>0
G202 : Nom de groupe aléatoire GA3, Équation du filtre conditionnel : randnum= AND strpos(Q0,'002/')>0
...
G300 : Nom de groupe aléatoire GA3, Équation du filtre conditionnel : randnum= AND strpos(Q0,'100/')>0
Mais la solution utilisant ".relevanceStatus" est bien sûr également bonne.
Joffm
Volunteers are not paid.
Not because they are worthless, but because they are priceless
The following user(s) said Thank You: DenisChenu
Please Log in to join the conversation.
- DenisChenu
- Away
- LimeSurvey Community Team
Less
More
- Posts: 13645
- Thank you received: 2491
1 year 4 months ago #235731
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.
Replied by DenisChenu on topic Faire apparaitre une sous-question directement après une question (randgroup)
Merci @Joffm,
Donc, si je comprend bien : ta solution utilise
- La rotation aléatoire du groupe pour présenter l'ordre des groupes de façon aléatoire
- La génération de 10 nombres aléatoires pour présenter 10 de ces questions
Comme ce sont des groupes de questions : on peut avoir 2 questions par groupe, dont l'une sous condition de l'autre !
Ouah ! Bravo !!!
@martinbelot : attention : 300 question * 2 == 600 questions. Sur mariadb, au dessus de 700 questions : il faut tester pour voir si la table peut s'activer.
manual.limesurvey.org/General_FAQ/en#MySQL_and_MariaDB
Donc, si je comprend bien : ta solution utilise
- La rotation aléatoire du groupe pour présenter l'ordre des groupes de façon aléatoire
- La génération de 10 nombres aléatoires pour présenter 10 de ces questions
Comme ce sont des groupes de questions : on peut avoir 2 questions par groupe, dont l'une sous condition de l'autre !
Ouah ! Bravo !!!
@martinbelot : attention : 300 question * 2 == 600 questions. Sur mariadb, au dessus de 700 questions : il faut tester pour voir si la table peut s'activer.
manual.limesurvey.org/General_FAQ/en#MySQL_and_MariaDB
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.
Please Log in to join the conversation.
- martinbelot
- Topic Author
- Offline
- New Member
Less
More
- Posts: 10
- Thank you received: 0
1 year 4 months ago #235749
by martinbelot
Replied by martinbelot on topic Faire apparaitre une sous-question directement après une question (randgroup)
Bonjour, merci pour la réponse.
J'ai essayé cette solution avec 9 groupes pour tester (G001,G002,G003,G101,G102,G103,G201,G202,G203) en essayant d'en choisir deux de chaque et je suis directement amené à la fin du questionnaire.
Peut-être ai-je mal adapté le code?
Egalement, dois-je écrire le code dans le texte de la question type texte court?
J'ai essayé cette solution avec 9 groupes pour tester (G001,G002,G003,G101,G102,G103,G201,G202,G203) en essayant d'en choisir deux de chaque et je suis directement amené à la fin du questionnaire.
Peut-être ai-je mal adapté le code?
Egalement, dois-je écrire le code dans le texte de la question type texte court?
Please Log in to join the conversation.
Moderators: Nickko