Welcome to the LimeSurvey Community Forum

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

valeur d'une variable en fonction de la valeur d'une réponse ouverte

  • ledoux
  • ledoux's Avatar Topic Author
  • Offline
  • Premium Member
  • Premium Member
More
7 years 10 months ago #136844 by ledoux
bonjour !
j'ai deux cas qui traitent de syntaxe...

1) je dois définir un quotas sur une question ouverte (disons varA). Ainsi je pense créer une variable "équation" cachée (varB), qui prend une certain valeur selon la valeur de varA.
ex VarB = 1 si varA < 32
varB= 2 si var A >=32
comment écrire l'équation ?

2) meme question pour une variable B qui prend une valeur (0, 1 ou 2) selon la réponse à une question fermée unique (varA).
J'ai créé une variable cachée de type "équation" (varB). Dans le texte de la question, j'ai mis la syntaxe suivante

par ex : si le répondant répond 1,2 ou 5 je veux que la variable B prenne la valeur "2" /// s'il répond 4 ou 3, varB renvoie "1" // s'il répond autre chose, alors varB prend "0"
j'ai écris : {if(varA == VR1 OR varA == VR2 OR varA == VR5, 2, (if(varB == VR4 or varB == VR3, 1, 0)))

(avec VR1= valeur pour la réponse 1 - pas le code, la valeur)

mais ça me rend toujours "0"...

comment faire pour les deux cas ? quelle syntaxe devrais-je utiliser ? j'ai cherché sur le forum, pas vu. Difficile parfois de trouver...

merci !!

New user of LS but with the will to contribute to this great community !
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
7 years 10 months ago - 7 years 10 months ago #136858 by DenisChenu
Salut,

Concernant ble quotas : en fait je pense qu'il est plus ointéressant d'utiliser la question OUI/NON avec la veleur par défaut avec le gestionnaire d'expression.

Sinon, le principe c'est , pour ASSIGNER une value : 1 seul =. La veluer doit se trouver devant (pas dans le if)

Donc, pour le 1 , un truc du genre:
Code:
{VarB=if(VarA>32,"2","1")}

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: 7 years 10 months ago by DenisChenu.
The following user(s) said Thank You: ledoux
The topic has been locked.
  • ledoux
  • ledoux's Avatar Topic Author
  • Offline
  • Premium Member
  • Premium Member
More
7 years 10 months ago #136884 by ledoux
Merci !!
J'avais pour habitude d'écrire
-if (varA==x, 0,1)
Avec cette nouvelle synthaxe, comment
1) spécifier des catégories (fourchettes) ?
if 18<varA<32 then varB=1, if 33<varA<65 then varB=2, if varA>65 then varB=3
2) donner plusieurs conditions imbriquées (avec du "OR")?
if varA= 1 OR 2 OR 3 then varB=1, if var A=4 OR 5 OR 6 then varB=2, etc.

j'ai écris : {if(varA == VR1 OR varA == VR2 OR varA == VR5, 2, (if(varB == VR4 or varB == VR3, 1, 0)))

'ai essayé par mal de choses, avec 1 seul =, avec 2 ==, etc. ca ne marche pas, ça renvoie "0"

merci beaucoup !!!

New user of LS but with the will to contribute to this great community !
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
7 years 10 months ago #136895 by DenisChenu
Pour le 1 : c'est bien = . Pour un test c'est ==.

Sinon:
manual.limesurvey.org/File:Tailoring9.jpg

VRX : ce sont des autres questions ?

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.
  • ledoux
  • ledoux's Avatar Topic Author
  • Offline
  • Premium Member
  • Premium Member
More
7 years 10 months ago #136900 by ledoux
merci
j'ai mis "VRX" pour parler de la valeur de la réponse (réponse unique sur une liste menu déroulant). J'ai essayé aussi avec le code de la réponse, mais ça ne marche pas...
pour les "OR" imbriqués, tu peux juste me donner la syntaxe générale ? merci..

New user of LS but with the will to contribute to this great community !
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
7 years 10 months ago - 7 years 10 months ago #136904 by DenisChenu
Salut,

Donc si ce sont des codes de réponses : ajouter les guillements : dailleurs cela dopit te montrer une erreur sans guillement
Code:
{if(varA.NAOK == "VR1" OR varA.NAOK == "VR2" OR varA.NAOK == "VR5", 
    2,
    if(varB.NAOK == "VR4" or varB.NAOK == "VR3",
        1,
        0
    )
)}

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: 7 years 10 months ago by DenisChenu. Reason: .NAOK
The following user(s) said Thank You: ledoux
The topic has been locked.
  • ledoux
  • ledoux's Avatar Topic Author
  • Offline
  • Premium Member
  • Premium Member
More
7 years 10 months ago #136915 by ledoux
ca ne marche pas, ça rend toujours 0... donc les conditions "if" ne sont jamais remplies...

on parle bien des codes de réponse, qui se trouvent tout à gauche dans "éditer les options de réponse" ?! je ne parle pas du texte même des réponses ("option de réponse") , ni de la valeur de l'évaluation (chiffre entier).
Casse-tête... ;-)

New user of LS but with the will to contribute to this great community !
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
7 years 10 months ago #136951 by DenisChenu
Tu peux montrer un screenshot du gestionnaire d'expression sur cette question ?

Voir envoyer un petit fichier lss

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: ledoux
The topic has been locked.
  • ledoux
  • ledoux's Avatar Topic Author
  • Offline
  • Premium Member
  • Premium Member
More
7 years 10 months ago #136967 by ledoux
Merci Denis..
ci-joint.
Mais ça va te parler puisque tu ne connais pas le nom des var, codes, etc. ?
Je ne comprends pas, je pense avoir essayé dans tous les sens.
Et ca bloque la lancée de mon enquête.
merci !

New user of LS but with the will to contribute to this great community !
The topic has been locked.
  • ledoux
  • ledoux's Avatar Topic Author
  • Offline
  • Premium Member
  • Premium Member
More
7 years 10 months ago #136968 by ledoux
Denis
le code marche ! je pense qu'en fermant et réouvrant la session, les choses se sont callées. merci !

Mais du coup j'ia un autre problème : la variable cachée que j'ai créée (équation) n'apparait pas dans la liste des variables sur lesquelles on peut fixer un quota...
or c'était l'objectif : transformer une question "menu déroulant" (varA) de 13 réponses en une variable avec seulement 3 "modalités" (varB), où chaque modalité regroupe diverses réponses de varA (que je dois laisser multiple pour le répondant).

Pareil pour la variable "équation" créée afin de catégoriser (par tranche d'âge) la réponse à une question ouverte (age en valeur continue, demandée au répondant)

Que me conseilles-tu.. ?
merci !

New user of LS but with the will to contribute to this great community !
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
7 years 9 months ago #136993 by DenisChenu
Salut,

Les quota : c'est uniquement sur les questions fermées à une seule réponse.

Ici : 2 solutions :
- Tu ajoute une question à liste simple (QQUOTA), et tu utilise une 2ème question équation avec le principe de = {QQUOTA=......} (déjà testé et utilisé)
- Tu utilise une question Oui/NOn avec la valeur par défaut Y selon une équation (jamais utilisé mais semble plus clair)

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.
  • ledoux
  • ledoux's Avatar Topic Author
  • Offline
  • Premium Member
  • Premium Member
More
7 years 9 months ago #137000 by ledoux
Merci Denis
Désolé, j'ai du mal à saisir les nuances de tes solutions.
*) La 1ère solution semble être ce que j'ai déjà essayé : 1) ma question de base est un "menu déroulant" (varA) (c'est pareil si je fais un tableau ou toute autre question à réponse unique). 2) j'ai créé une question équation (varB) avec la formule, qu'on a callé ensemble, pour réduire le nombre de modalités.
Mais varB n'apparait pas dans la liste des variabels éligibles pour le quotas. Uniquement var A. Je tourne donc en rond.

2ème solution : j'ai 13 modalités pour varA, je dois créer 13 variables Y/N? je ne comprends pas trop désolé..

(pour info, je ne peux garder le niveau de précision à 13 modalités pour le quotas car je n'ai pas les infos de quotas pour chaque modalité, je l'ai seulement pour 3 catégories, d'où l'idée de la variable équation qui regroupe. Même problème avec une variable "entrée numérique", que j'ai convertis en 3 catégories avec une variable équation (merci !), mais elle n'apparait pas non plus comme variable éligible quotas)

merci !

New user of LS but with the will to contribute to this great community !
The topic has been locked.
Moderators: Nickko

Lime-years ahead

Online-surveys for every purse and purpose