Welcome to the LimeSurvey Community Forum

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

Réponses par défaut dynamique

  • simonjan
  • simonjan's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
21 hours 57 minutes ago - 20 hours 36 minutes ago #270169 by simonjan
Réponses par défaut dynamique was created by simonjan
Votre version de LimeSurvey : LimeSurvey Community Edition Version 6.6.1+240806 (propre serveur)
Thème : Fuity

==================
Bonjour,

Je viens de découvrir qu'il était possible de mettre des réponses par défaut avec une question de type équation. Ca m'est très utile pour renseigner "non" par défaut dans un questionnaire avec des tableaux avec de nombreuses lignes et 2 colonnes : oui/non
J'ai réussi à le faire grâce à un sujet ancien sur un autre version de Limesurvey.

Je vous en remercie, Il a quand même fallu que j'ajoute des guillemets dans l'équation pour cela fonctionne :
{EQUIPEMENT_SQ001 = "AO02"}
{EQUIPEMENT_SQ002 = "AO02"}
{EQUIPEMENT_SQ003 = "AO02"}
{EQUIPEMENT_SQ004 = "AO02"}
{EQUIPEMENT_SQ005 = "AO02"}
{EQUIPEMENT_SQ006 = "AO02"}
{EQUIPEMENT_SQ007 = "AO02"}
{EQUIPEMENT_SQ008 = "AO02"}
{EQUIPEMENT_SQ009 = "AO02"}
{EQUIPEMENT_SQ010 = "AO02"}
{EQUIPEMENT_SQ011 = "AO02"}
{EQUIPEMENT_SQ012 = "AO02"}

Par ailleurs, j'ai un autre questionnaire réalisé tous les ans, avec une base d'invitation et de nombreuses questions préremplies d'une année sur l'autre. Pour le moment, uniquement les réponses de type "zone de texte" sont préremplies (avec des coordonnées). Mais j'aurais aimé pouvoir aller plus loin et préremplir le questionnaire aussi pour les questions de type oui/non et pour les menus déroulants ou boutons radio.

J'ai essayé de bricoler les équations avec les attributs de ma table d'invitation mais je n'arrive pas à mettre des valeurs par défaut issues de ma base d'invitation (= des réponses personnalisées pour chaque participant). Au début j'ai cru que j'avais réussi mais le code suivant donne la même valeur par défaut pour tous les participants ("Membre" et "Non") :


{if(TOKEN:ATTRIBUTE_11 == "Président", RL = "AO01")}
{if(TOKEN:ATTRIBUTE_11 == "Vice-président", RL = "AO02")}
{if(TOKEN:ATTRIBUTE_11 == "Membre", RL = "AO03")}
{if(TOKEN:ATTRIBUTE_15 == "Oui", RLa = "Y", RLa = "N")}
{if(TOKEN:ATTRIBUTE_16 == "Président", RQUAL = "AO01")}
{if(TOKEN:ATTRIBUTE_16 == "Vice-président", RQUAL = "AO02")}
{if(TOKEN:ATTRIBUTE_16 == "Membre", RQUAL = "AO03")}
{if(TOKEN:ATTRIBUTE_19 == "Oui", RQUALa_SQ001 = "AO01", RQUALa_SQ001 = "AO02")}
{if(TOKEN:ATTRIBUTE_20 == "Oui", RQUALa_SQ002 = "AO01", RQUALa_SQ002 = "AO02")}

J'ai également essayé ce type de syntaxe (le résultat est le même) :
{if(TOKEN:ATTRIBUTE_11 == "Président", RL="AO01", if(TOKEN:ATTRIBUTE_11 == "Vice-président", RL="AO02", if(TOKEN:ATTRIBUTE_11 == "Membre", RL="AO03")))
Par contre, si j'affiche {RL} dans le texte de la question équation ou dans le texte de la question "RL", je vois bien la bonne valeur.

Je me pose plusieurs questions :
1/ Est-ce que c'est possible de renseigner des valeurs par défaut personnalisées pour ce type de question ?
Si oui :
2/ Voyez-vous des erreurs dans le code ? Faut-il une équation par question ?
3/ Dans la base d'invitation si au lieu de "Oui", j'ai directement la valeur "AO01", est-ce facilitant ?

Je vous remercie d'avance pour votre aide.

EDIT : En attendant de trouver une meilleure solution, j'ai renseigné la valeur de la base d'invitation (issue du questionnaire de l'année précédente) dans l'aide de chaque question.
Last edit: 20 hours 36 minutes ago by simonjan.

Please Log in to join the conversation.

  • DenisChenu
  • DenisChenu's Avatar
  • Away
  • LimeSurvey Community Team & Official Partner
  • LimeSurvey Community Team & Official Partner
More
19 hours 50 minutes ago #270170 by DenisChenu
Replied by DenisChenu on topic Réponses par défaut dynamique
Pour positionner des valuers poar défaut par formule : la bonne syntaxe est celle ci

{RL = FORMULE}

Dans ton cas : tu peux faire une formule de si imbriqué {RL = if(TOKEN:ATTRIBUTE_11 == "Président", "A01", if(TOKEN:ATTRIBUTE_11 == "Vice-président","A02',"A03))} mais ca peut vite devenir lourd.
Je conseille plutôt cette méthode
Code:
{RL = join(
if(TOKEN:ATTRIBUTE_11 == "Président", "A01"),
if(TOKEN:ATTRIBUTE_11 == "Vice Président", "A02"),
if(TOKEN:ATTRIBUTE_11 == "Membre", "A03"),
"")}

MAIS : tu va forcer la valeur, si jamais la personne retourne en arrière : ca va reforcer la valeur. Donc le mieux est
Code:
{RL = if(is_empty(RL.NAOK,(join(
if(TOKEN:ATTRIBUTE_11 == "Président", "A01"),
if(TOKEN:ATTRIBUTE_11 == "Vice Président", "A02"),
if(TOKEN:ATTRIBUTE_11 == "Membre", "A03"),
""),RL.NAOK)}

Voir : www.limesurvey.org/manual/Expression_Man..._Assignment_Operator

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member. - Professional support - Plugins, theme and development .
I don't answer to private message.
The following user(s) said Thank You: simonjan

Please Log in to join the conversation.

  • simonjan
  • simonjan's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
17 hours 39 minutes ago - 17 hours 37 minutes ago #270176 by simonjan
Replied by simonjan on topic Réponses par défaut dynamique
Merci beaucoup !

J'ai un peu bataillé sur les parenthèses, tant que je n'avais pas compris que RL.NAOK correspondait à la valeur renseignée par le répondant. Après correction :
Code:
{RL = if(is_empty(RL.NAOK), join(
if(TOKEN:ATTRIBUTE_11 == "Président", "A01"),
if(TOKEN:ATTRIBUTE_11 == "Vice Président", "A02"),
if(TOKEN:ATTRIBUTE_11 == "Membre", "A03"),
""), RL.NAOK)}
Last edit: 17 hours 37 minutes ago by simonjan.

Please Log in to join the conversation.

Moderators: Nickkoholchtpartner

Lime-years ahead

Online-surveys for every purse and purpose