Les variables principale
Certaines variables sont ‘globales’, elles ne dépendent pas directement du gestionnaire d’expressions, mais plus du gestionnaire de modèle. Les plus intéressantes à utiliser avec le gestionnaire d’expression :
- {QID}
- Le numéro de la question : très pratique dans le code javascript :
$("#question{QID}")
en jquery permet directement de manipuler la question. - {SGQ}
- La partie identifiant les champs de saisie. Chaque champ de saisie commencera par ce code. Par exemple, pour identifier la case à cocher d’une réponse à choix unique de choix OUI :
$("#answer{SGQ}OUI")
, pour identifier le champs de la sous question SQ1 :$("#answer{SGQ}SQ1")
. - {GID}
- Le numéro du groupe de la question.
- {TOKEN:*}
- Avec * pour chacun des éléments de l’invitation : TOKEN:FIRSTNAME pour le prénom, TOKEN:ATTRIBUTE_1 pour l’attribut 1 ....
Les codes des questions
Les réponses aux questions peuvent directement être reprisent avec leur code.
- Pour les questions à réponse unique : c’est uniquement le code de la question soit {QCODE}.
- Pour les questions à réponses multiples, les questions avec sous-questions : c’est le code de la question, le trait de soulignement puis le code de la sous question : soit {QCODE_SQ001}.
- Pour les questions à double entrée (tableau de textes ou tableau de nombres), il faut utiliser les 2 codes des sous question soit {QCODE_SQY01_SQX02}.
- Pour les questions de classement : QCODE_1 va vous donner la réponses classée en premier, QCODE_2 en deuxième etc...
- Pour les tableaux à double échelle : {QCODE_SQ001_1} pour la première réponse de la première échelle, {QCODE_SQ001_2} pour la première réponse de la deuxième échelle ...
- Pour les complèments aux questions : Autres et Commentaires, il faut ajouter _other pour autre ({QCODE_other}) et _comment pour les commentaires (QCODE_comment).
L’ensemble des possibilité est récapitulées dans le manuel de LimeSurvey : Qcode Variable Naming.
Les suffixes
A ces question il est possible, et souvent important, d’ajouter un suffixe. Ceci va permettre de récupérer exactement l’information voulue.
Par défaut, sans suffixe : c’est le code qui sera retourné (soit QCODE.code). On ajoute le suffixe au code de la question séparé par un point (QCODE.suffixe ou QCODE_SQ1.suffixe).
- code ( QCODE.code )
- Donne le code de la réponse ou le texte saisi pour les réponses texte. Pour les cases à cocher, le code sera "Y" ou "" (vide).
- NAOK ( QCODE.NAOK )
- Donne le même résultat que code, cependant n’entraîne pas une erreur sur des calculs. En effet si la question est masquée par des conditions, utiliser code dans des calculs peut entrainer des erreurs. En utilisant NAOK, si la question est masquée, cela sera remplacé par "" ou par 0 selon le besoin.
- shown ( QCODE.shown )
- Le texte de la réponse donnée. Pour les question à choix unique le texte direct de la réponse choisie par le répondant. Plutôt utilisé pour rappeler au répondant ses réponses
- relevanceStatus (Qcode.relevanceStatus)
- Le statut de la question : c’est à dire si la question à était masqué par une condition ou une équation du filtre conditionnel. Si la question est masquée, le code retournée est 0, sinon le code est 1.
Remplace avantageusement la copie des conditions. EN effet si plusieurs question ont les mêmes filtres : il suffit de gérer ce filtre dans une seule des questions et d’ajouter aux autres l’équationQcode.relevanceStatus
pour obtenir le même filtre. - qid ( QCODE.qid )
- L’identifiant numérique unique de la question. Particulièrement utile pour construire les scripts javascript.
- sgqa ( QCODE.sgqa )
- L’identifiant unique utilisé pour construire le code HTML des réponses. Particulièrement utile pour construire les scripts javascript : les champs de saisie sont identifié par #answer{QCODE.sgqa}.
- this
- Utilisé dans le texte ou les attributs des fonction, remplace le code de la question. Dans l’attribut Équation de validation de question il va être remplacé par l’ensemble des codes des questions.
Par exemple pour controler que toutes les réponses sont supérieures à 3, vous pouvez utiliser directementthis > 3
- self
- Utilisé principalement pour les questions à réponses multiples ( les tableaux aussi ) : va être remplacé par un tableau des sous questions.
_Un exemple : pour compter le nombre de réponses données
count(self.NAOK)
.
Vous pouvez filtrer les sous question pour n’en prendre qu’un partie avec un sélecteur supplémentaire : _sq_SQ01 : cela va sélectionner toutes les sous questions dont le code commence par SQ01._
Par exemple, pour sélectionner le texte de la réponse donnée à la ligne SQ002 d’un tableau :{self.sq_SQ001.shown}
. - that
- Équivalent à
self
mais dans les autres questions, ce mot clé a besoin du code d’une question supplémentaire : that.Q1 par exemple. On peut encore utiliser les mêmes suffixes que pour les codes des questions et le même sélecteur de sous question.sum(that.Q1.code)
va nous donner la somme des valeurs données à une question de type Multiples entrées numériques{that.QCODE.qid}
va être remplacée par le numéro identifiant de la question QCODE.
Le reste des suffixes est disponible sur la documentation de LimeSurvey
Les mots self, this, that
Ces 3 mots clés peuvent être utilisés pour remplacer les codes des questions, notamment pour les questions à choix multiples ou les tableaux de questions