Divers

Limesurvey : Conditions multiples avec l’opérateur OU

Sommaire

Le système de conditions du logiciel libre de sondages Limesurvey est très pratique. Lorsque que l’affichage d’une question est conditionné selon plusieurs conditions, il n’est pas possible de choisir l’opération logique effectuée entre ces conditions : chacune des conditions doit être remplie, c’est un ET logique. Comment faire un OU logique ?

Ce que je veux faire

Alors comment faire un OU logique ? Je m’explique.

J’ai 3 questions :

  1. Aimez-vous les chats ? (oui/non)
  2. Aimez-vous les chiens ? (oui/non)
  3. En plus d’aimer les animaux domestiques, vous aimez les autres animaux ?

Je veux que la question numéro 3 ne s’affiche que si la personne a répondu OUI à la question 1 ou à la question 2. Nous partons du principe qu’une personne qui aime les chats ou les chiens aime les animaux domestiques. Si la personne répond oui aux deux premières questions il faut également afficher la troisième, en effet nous utilisons l’opérateur ou, pas l’opérateur ou exclusif.

Le concepteur de conditions ne permet pas de modifier l’opération logique entre chaque condition :

Concepteur de conditions

L’équation du filtre conditionnel créée par le concepteur de conditions est la suivante :

C’est l’opérateur and qui me dérange, je voudrais un ou.

Que dit la documentation ?

La documentation en français nous explique que :

Les conditions multiples basées sur PLUSIEURS questions sont évaluées en utilisant l’opérateur « ET ». Ceci est très important car cela signifie qu’il n’est pas possible de créer des conditions qui permettraient d’afficher une question 3 si la réponse à la question 1 est « Oui » OU si la réponse à la question 2 est « Non ». Des ruses pour contourner peuvent être utilisées pour les cas simples.

La documentation en anglais est beaucoup plus claire et nous explique la même chose avec plus de précisions :

However, it is important to understand that LimeSurvey automatically determines which logical operator to apply: this means that the use of the OR or AND operators is determined according to the context of the condition.

We’ll talk about complex conditions later, but let’s start by the simple ones first.

[…]

As said earlier, LimeSurvey automatically decides which logical operator (AND or OR) should be applied between conditions depending on the ‘context’.

– First rule: conditions having the same tested value are ORed together

– Second rule: conditions having different tested value are ANDed together

Comment faire ?

La solution ? Il faut simplement modifier l’équation du filtre conditionnel et remplacer le and par un or !

Pour modifier à la main cette équation, modifiez la question avec le bouton edit, le champ est en bas du formulaire.

Lorsque avez vous déjà renseigné des conditions avec le concepteur de conditions, vous ne pouvez pas modifier l’équation à la main :

Copiez l’équation du filtre conditionnel, allez supprimer vos conditions dans le concepteur de conditions et revenez sur la question, vous pourrez créer votre équation du filtre conditionnel.

Remplacez le and par un or :

Magie des opérateurs booléens correctement interprétés par Limesurvey, ça fonctionne ! La question 3 s’affiche si l’on répond oui à la question 1 et/ou à la question 2.

Conclusion

Le concepteur de conditions de Limesurvey est un peu sommaire. En revanche, le logiciel est capable d’interpréter l’algèbre booléen et c’est très pratique.

Je pense que notre solution n’est volontairement pas expliquée clairement dans la documentation puisque si vous l’utilisez par exemple en combinant plusieurs réponses possibles sur une même question en plus d’autres réponses sur une autre question, le questionnaire risque de se comporter bizarrement. Rappelez-vous, dans l’algèbre booléen le OR est une opération prioritaire sur le AND. Pensez à utiliser des parenthèses dans l’équation du filtre conditionnel.

[Image]

3 réflexions sur “Limesurvey : Conditions multiples avec l’opérateur OU

  • Salut,

    Le manuel en français est très en retard, mais c’est un wiki donc toute personne inscrite sur le forum peut le mettre à jour.
    Sinon : ici il est possible d’utiliser les scénarios avec l’éditeur de conditions.

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Êtes-vous humain ? *