Welcome to the LimeSurvey Community Forum

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

Equation de validation "sum" avec des valeurs au nombre de décimales variable

  • ThomasDEXET
  • ThomasDEXET's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
6 days 14 hours ago #270351 by ThomasDEXET
Aidez-nous à vous aider et remplissez les cases appropriées :
Votre version de LimeSurvey : Version de votre LimeSurvey : 
==================
Bonjour !Je suis en train de me faire des nœuds au cerveau avec un problème qui – je pense – est simple à résoudre avec une prise de recul et un peu de pratique LimeSurvey.J’ai créé un questionnaire avec un schéma récurent de question où il est demandé (1) de déclarer un volume total distribué par le répondant et (2) de le repartir suivant différents paramètres (répartition par département, par catégorie de produits, etc.).Afin que le remplissage soit cohérent j’aimerais que mon questionnaire se bloque si la somme des volumes répartis n’est pas également au volume total déclaré au préalable. Mon principal souci est que les répondants abandonnent 80% du temps quand le questionnaire se bloque... Il faut donc que je trouve un juste milieu entre garantir un remplissage cohérent/fiable et avoir des réponses. Deux possibilités donc avec LimeSurvey mais qui me pose un problème différent :·         [Image 1] Question tableau « texte ». Je mets une équation de validation qui bloque le questionnaire si la somme n’est pas égal au volume total. Mon problème est que les répondants renseignent souvent des valeurs qui ont un nombre variable de décimales. Imaginons que le volume total déclaré soit 123.4, la somme des répartitions pourrait parfois aboutir à 123.35 ou 123.41 ce qui bloquera le questionnaire. Ma question étant : Peut-on générer une conversion des données qui sont renseignées en les arrondissant à l’unité ? A l’image d’une condition « numérique uniquement » qui efface les éléments textes. Je pourrais ainsi m’assurer que mes sommes soient toujours conformes, je n’ai pas besoin d’un détail après la virgule.·         [Image 2] Question prédéfinie « multiple entrées numériques ». Ici je peux imposer le remplissage de nombre entier mais il n’y a pas de conversion à l’unité, le questionnaire est juste bloqué. J’ai donc défini des bornes d’acceptation à +/- 0,1. Cette solution paraît idéale mais est un peu figée je trouve. Je ne peux personnaliser le message ou le supprimer [image 3]. A tout hasard, est-il possible de modifier ce texte « la somme doit être comprise entre… » ?Je précise que je suis pour le moment sur la version gratuite, je passerai sous peu en version payante.Merci par avance pour vos retours et belle journée !

Please Log in to join the conversation.

  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team & Official Partner
  • LimeSurvey Community Team & Official Partner
More
1 day 9 hours ago #270399 by DenisChenu
Je ne comprends pas :

1. Tu veux une somme exacte ou approxmative ?
2. Tu veux des décimales

Sinon : si tu veux que la partie entière soit exactement de 10 (par exemple) www.limesurvey.org/manual/Expression_Man...#Access_to_Functions
intval ou sinon : selon n'importe quelle pression : round(val [, precision])

Sur la personnalisation des textes : uniquement via la validation. C'est ce que je fais quand le texte doit être adapté.

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: ThomasDEXET

Please Log in to join the conversation.

  • ThomasDEXET
  • ThomasDEXET's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
1 day 8 hours ago #270407 by ThomasDEXET
 
Merci pour ton retour !

J'aimerai que la condition de validation autorise une approximation, du point de vue des décimales. Mais du coup j'ai réussi avec "round()".

Si je reprends mon image 1, j'ai fait :
round(sum(APPND_L1_C1.NAOK, ... APPND_L8_C1.NAOK) )== round(VND.NAOK)

Comme ça si le répondant répond 123.4, quand il renseigne la variable VND, et que la somme du tableau suivant ne fait que 123.1, le questionnaire ne se bloquera pas.

Ce qui m'intéresse c'est le respect de la condition de validation pour des valeurs arrondies à l'unité.

Please Log in to join the conversation.

Moderators: Nickkoholchtpartner

Lime-years ahead

Online-surveys for every purse and purpose