Actions

Type de question - Tableau (Textes)

From LimeSurvey Manual

Revision as of 09:43, 22 October 2014 by DenisChenu (talk | contribs) (Created page with "{{QS:array_filter/fr}}")

Description courte

The Array (Text) question type allows for an array of text boxes with a set of subquestions as the "y-axis", and another set of subquestions as the "x-axis".

You can also limit this question type to allow numerical answers only (see the question attribute "Numbers only") and "Show totals" for enabling then display of totals for rows, columns or both:

Les options (paramètres généraux)

Obligatoire

Description

Cette option permet aux administrateurs de l'enquête de demander à leurs répondants de répondre à certaines questions de l'enquête. Si les questions obligatoires ne reçoivent pas de réponse, les répondants ne pourront pas poursuivre. Si vous avez une question comportant plusieurs sous-questions et que vous souhaitez répondre à certaines sous-questions seulement, utilisez l'attribut minimum Answer situé sous l'onglet Logique.

Template:Remarque


Options disponibles

  • Activé - Il faut répondre à la question avant que le participant puisse passer à la page suivante - l'option de réponse « Pas de réponse » n'est jamais affichée.
  • Soft - Si la question n'obtient pas de réponse, un avertissement s'affiche lorsque vous essayez de passer à la question. la page suivante - cependant, le participant peut choisir d'ignorer l'avertissement et de continuer. Notez que l'option « Pas de réponse » est toujours affichée (si elle est activée dans les paramètres de présentation de l'enquête) 
  • Désactivé (par défaut) - La question peut rester sans réponse


Validation (à l'aide d'expressions régulières) (preg_validation)

Description

Cette option vous permet de spécifier une expression régulière avec laquelle vous pouvez valider toutes les parties d'une question.

Si une valeur de question ou de sous-question ne répond pas aux exigences de validation, la couleur d'arrière-plan du champ de saisie de texte deviendra rouge afin que les utilisateurs puissent facilement voir quelles parties de la question doivent être corrigées. Ainsi, vous pouvez effectuer une validation sur la page. De cette façon, vous n'aurez pas besoin d'attendre que l'utilisateur clique sur le bouton de soumission pour valider la question correspondante.

Valeurs valides

  • Toute expression régulière valide

Exemple



Condition (anciennement "Équation de pertinence")

Description

Si la valeur du résultat de la condition est « 1 » ou « vrai », la question est « pertinente » dans le contexte de l'enquête, c'est-à-dire qu'elle est présentée au participant à l'enquête. Sinon, la question est cachée. Toute question d'enquête vous permet de spécifier une équation de pertinence. Cette fonction est le successeur de conditions et prend en charge une logique conditionnelle beaucoup plus complexe.

Coloration syntaxique

Chaque fois que vous enregistrez la condition, elle est évaluée et mise en évidence par la syntaxe. Toutes les erreurs seront codées par couleur afin que vous puissiez les détecter et les corriger rapidement.

 Hint: Pour vérifier si toutes les conditions sont utilisées correctement dans votre enquête, lisez notre fonctionnalité show logic file.


Valeurs valides

Exemples

Voici de bons exemples de syntaxe highlighting.


Paramètres avancés

Ordre de réponse aléatoire (random_order)

Description

  Obsolète pour les options de réponse : Depuis la version 5.5.0, cet attribut n'est plus utilisé pour trier les options de réponse. Veuillez consulter QS:Answer_order


Cet attribut amène LimeSurvey à ignorer l'ordre existant des options de réponse/sous-questions et à les classer de manière aléatoire. Cette option permet au créateur de l'enquête de réduire le biais de l'enquête. Veuillez noter que si une question comporte des sous-questions, l'ordre des sous-questions sera aléatoire et non l'ordre des options de réponse.

Options disponibles

  • Oui - Randomisez lorsque le participant entre dans l'enquête
  • Non (par défaut)


Largeur de réponse (answer_width)

Description

Cette valeur définit la largeur de la colonne de réponse en utilisant un système de pourcentage. Par exemple, si vous saisissez 40 dans ce champ, 40 % de la largeur de la question sera utilisée pour les réponses. La largeur restante sera répartie également entre les sous-questions.

Valeurs valides

  • Toute valeur entière comprise entre 1 et 100.



Largeur de la zone de saisie (text_input_width)

Description

Cet attribut définit la largeur des zones de saisie de texte (du "wrapper" des zones de saisie de texte). La zone de saisie est utilisée pour introduire une réponse à la (sous)question. Si la valeur de la largeur est suffisamment élevée, alors la zone de saisie de texte sera affichée sur la ligne suivante. Veuillez noter que cette option ne définit pas la taille de l'entrée ou la largeur de la colonne entière !

Options disponibles

  • Par défaut : Si sélectionné, une valeur par défaut sera attribuée à cet attribut de manière à avoir à la fois l'étiquette et sa zone de saisie de texte correspondante sur la même ligne. Par exemple, si la largeur de la zone de saisie de texte est de 41 %, la valeur de la largeur de la zone de saisie de texte sera une valeur qui permet à la fois l'étiquette et la zone de saisie sur la même ligne (58 % dans ce cas). Si la largeur de la zone de saisie de texte était supérieure à 58 %, alors la zone de saisie de texte serait affichée sur la ligne suivante.
  • 8%; 17 %...92% , 100% : plus la valeur sélectionnée est grande, plus la largeur de la zone de saisie de texte est grande.

Exemple

  • Si vous souhaitez que la partie saisie soit affichée sous la sous-question/l'étiquette, sélectionnez l'option 100 % dans la liste déroulante.



Nom du groupe de randomisation (random_group)

Description

Il place les questions dans un groupe de randomisation spécifié, toutes les questions incluses dans le groupe spécifié étant affichées dans un ordre aléatoire pour les répondants à l'enquête.

Vous pouvez trouver un échantillon d'enquête utilisant le nom du groupe de randomisation dans ExpressionScript sample Survey.

Valeurs possibles

Entrez simplement la chaîne de votre choix (par exemple : « group1 »). Toutes les questions qui ont défini la même chaîne dans la case nom du groupe de randomisation auront leur place dans l'enquête de manière aléatoire (= échangées aléatoirement entre elles).


Aperçu Pour prévisualiser les questions, utilisez la fonction « Aperçu de l'enquête » au lieu de la fonction « Aperçu du groupe de questions », car il a été signalé que la seconde n'affichait pas les questions dans un ordre aléatoire.


Toujours masquer cette question (cachée)

Description

Si cette option est activée, la question sera toujours masquée - elle ne sera pas affichée aux participants à l'enquête. Cette fonction peut être utilisée dans les scénarios suivants :

  • Si vous souhaitez préremplir une question avec une URL et que vous ne souhaitez pas qu'elle s'affiche à l'écran. Cela remplace toutes les conditions utilisées dans l'enquête, car la question correspondante ne sera même pas intégrée à la page.
  • Si vous souhaitez stocker ou calculer une valeur à la volée via ExpressionScript - Présentation.
Remarque : Un type de question couramment utilisé avec cette fonction est celui Equation.

Options disponibles

  • On
  • Off (par défaut)



Filtre de tableau (array_filter)

Description

Le paramètre Filtre de tableau vous permet d'utiliser n'importe quelle question à choix multiples pour sélectionner ou définir les réponses qui seront affichées dans une liste, un tableau ou une question à choix multiples ultérieure.

Les questions suivantes peuvent être filtrées sur n'importe quel type de question matricielle, y compris :
  • Choix multiple
  • Choix multiple avec commentaires
  • Texte court multiple
  • Numérique multiple
  • Tableau (5 points, 10 points, Oui/Non/Inconnu, Augmentation/Identique/Diminution, Colonne)
  • Tableau (double échelle, texte, nombres)
  • Classement

De plus, chacun de ces types de questions peut être filtré.

La seule exception est « Array (Column) », qui peut filtrer d'autres questions, mais pas elle-même.

Comment définir un filtre

Pour définir un filtre, saisissez le code de question d'une question à options multiples dans la zone de filtre de tableau de la question que vous êtes en train de modifier. La question respective sera utilisée comme source d'informations pour la question actuelle, les réponses sélectionnées de la question précédente étant récupérées et utilisées comme options de réponse pour la question actuelle. Par exemple, si le code de votre question source à options multiples est « Q1 », entrez « Q1 » dans la case « Filtre de tableau » pour démarrer le processus de filtrage des réponses. Seules les options de réponse sélectionnées à la question Q1 seront visibles dans la question array_filter.

Si vous souhaitez que davantage de questions soient filtrées via cette option, saisissez les codes des questions dans la case séparées par des points-virgules (;).
  Les codes de sous-question utilisés dans la première question doivent coïncider avec les codes de sous-question de la seconde. Sinon, la fonction array filter ne filtrera pas les réponses à la première question. Remarque : Lorsque vous souhaitez filtrer l'option de réponse « autre » de la première question, vous devez fournir une sous-question pour cette réponse dans la deuxième question et le code de sous-question pour cette réponse doit être « autre ». Consultez l'exemple ci-dessous pour mieux comprendre le fonctionnement de l'ensemble du système.


Si les choix multiples autorisent d'autres paramètres : vous pouvez choisir « autre » pour le code de la sous-question et filtrer avec d'autres cochés ou non.

En cascade

Les options sélectionnées peuvent être affichées en cascade. Cela signifie que vous pouvez sélectionner une question qui filtre une autre question, qui filtre une autre question, et ainsi de suite.

Exemple de filtre de tableau

Jetons un coup d'œil à l'exemple suivant pour mieux comprendre la puissance de ce paramètre :



Dans la capture d'écran ci-dessus, nous avons reçu deux questions. La première est une question de type « texte court multiple », tandis que la seconde est une question de type « tableau à double échelle ». Les réponses que vous fournissez à la première question seront répertoriées dans la seconde. Techniquement, les réponses que vous fournissez aux sous-questions de la première question sont filtrées et affichées dans la deuxième question.

Cet exemple peut être téléchargé à partir du lien suivant : limesurvey_group_32.lsg. Importez ce groupe de questions dans votre installation LimeSurvey.



Array exclusion filter (array_filter_exclude)

Description

The Array filter exclusion setting allows you to use any multiple choice question to select or set which responses are NOT displayed in a subsequent list, array or multiple choice question.

The subsequent questions can be filtered on any array question type, including:
  • Multiple choice
  • Multiple choice with comments
  • Multiple short text
  • Multiple numeric
  • Array (5 point, 10 point, Yes/No/Unknown, Increase/Same/Decrease, By column)
  • Array (Dual Scale, Text, Numbers)
  • Ranking

Furthermore, each of these types of questions can filtered.

The only exception is Array by column which can filter other questions, but it cannot be filtered.

How to set it up

Enter the question code of a multiple options question in the array exclusion filter box of the question you are currently editing. The respective question will be used as the source of information for the current question, the non-selected answers from the previous question being retrieved and used as answer options for the current question. For example, if your source multiple option question code is "Q1", enter "Q1" into the 'Array exclusion filter' box to start the filtering process of the answers. Only the answer options that are NOT selected in question Q1 will be visible in your question.

If you wish more questions to be filtered via this option, type the question codes in the box separated by semicolons (;).
  The subquestion codes used in the first question must coincide with the subquestion codes from the second one. Otherwise, the array exclusion filter function will not filter the answers to the first question. Check the below example to better understand how the whole system works.


Cascading

The selected options can be displayed in cascade. This means that you can select a question which filters another question, which filters another question, and so on.

Example

Let's see together the below example:



In the screenshot from above, we got two questions. The first one is a multiple choice question type, while the second one is a multiple choice with comments question type. The answers you provide in the first question will be excluded from the second one. For example, if you select the ComfortUpdate option (that has the subquestion code 'SQ1') and the Plugin option ('SQ4'), the 'SQ1' and the 'SQ4' subquestion correspondents from the second question will be excluded. In our screenshot, we can observe that only the unselected options in the first question and displayed in the second one.

This example can be downloaded from the following link: Limesurvey_group_array_filter_exclude.zip. Import this question group into your LimeSurvey installation.



Show totals for (show_totals)

Description

If enabled, the totals for either rows, columns or both rows and columns will be displayed.

The totals are displayed only if the Numbers only option is enabled.

Available options

  • Off (default)
  • Rows
  • Columns
  • Rows & columns

Example



Numbers only (numbers_only)

Description

If you enable this option, the participant can only enter numbers in the text box(es).

For the equation question types, this setting indicates that the result could only be a number, not a string. This will guarantee proper calculations/conversions in follow-up equations regarding the decimal mark.

Behavior by question type

  1. Default: If the subject enters a value that is not a number, that value is immediately cleared from the text box so that the subject can enter an appropriate value.
  2. Array (Texts): If the numbers only option is disabled, the "Show totals for" and "Show grand total" options will be overruled, while the total text boxes will not be displayed.
  3. Equation: Enabling this option will force the equation results to be converted to a numeric value. If the equation result is not a number (and not blank), the equation will return NaN, being saved as an empty string in the response table.

Available options

  • On
  • Off (default)



Show grand total (show_grand_total)

Description

If enabled, the grand total for columns (or rows) will be displayed in the bottom right part of the array.

The grand total is displayed only if the Numbers only option is enabled.

Available options

  • On
  • Off (default)

Example



Insert page break in printable view (page_break)

Description

This attribute is only active when you actually print a survey from the Printable View. It forces a page break before the question.

Available options

  • On
  • Off (default)


Minimum answers (min_answers)

Description

This function can be used to ensure that a user selects at least a certain number of answers in a multiple choice question.

Valid values

  • Any integer value above 0
  • Any number
  • Any SGQA code
  • Any question code (variable name)
  • Any equation, using ExpressionScript syntax, without surrounding curly braces.

Example

If set to X (a random number), the users can submit the survey form if they select at least X checkboxes. If this option is utilised for ranking questions, this ensures that at least three items are ranked before allowing the respondent to submit the answers/survey.

Please note that if you use this attribute with Ranking questions, you have to set the question to non-mandatory. Otherwise, all the items need to be ranked which is counter-intuitive if you decide to use the min_answers function too.



Maximum answers (max_answers)

Description

It can be used to limit the total number of answers a user can select in a multiple choice question.

Valid values

  • Any number value
  • Any SGQA code
  • Any question code (variable name)
  • Any equation, using ExpressionScript syntax, without surrounding curly braces.

Example

If set to 2, the user will only be able to check at most two checkboxes or one checkbox + fill the "Other" field (if any). For the Ranking question type, the participant would be able to select maximum two items.



Question validation equation (em_validation_q)

Description

This is an equation that is used to validate the entire question (e.g, all of its parts collectively for a multi-answer question). If the question fails the validation criteria, then em_validation_q_tip message will be displayed (it uses the CSS style .error). This tip uses the .em_q_fn_validation CSS style, which is hidden by default within template.css.

The main difference between this feature and the subquestion validation equations (em_validation_sq option) is that for this feature, if the question (or question parts) fail validation, then an error message could be shown. For the subquestion validation, each text entry cell (e.g., in an array question type, but it can also be applied to single entry question types) will be styled so that the background color is (light) red.

Valid values

  • Any equation that makes use of the ExpressionScript syntax, without surrounding curly braces.

Example

  • You want to collect demographic information from users via a multiple short text question, and you want to validate that the user has entered a valid email address and phone number.

This example shows how the question looks with invalid answers:

And here is what it looks like with one invalid answer:

Here is how you edit a question to enter that information:

And here is part of the Show Logic File output that lets you check the accuracy of your expression and ensure that there are no syntax errors:

As you can see, the validation equation tests that both the email and phone number are either empty or match a regular expression filter.

The validation tip only shows the warning message if the phone or email appears invalid.

 Hint: In order to create complex validation messages, read about the usage of the ExpressionScript.


If you wish to import the example from above into your LimeSurvey installation, download the following .lsq file: Em_validation_q_example.zip.

 Hint: Remember, LimeSuvey uses the Perl syntax for regular expressions, so they should start and end with / (slash character)!



Tip for whole question validation equation (em_validation_q_tip)

Description

If you are using the question validation equation, you can use this box in order to display an optional message as question tip on how the question has to be filled out.

Valid values

Example

See the example from the question validation equation wiki section- it shows how the tip can be tailored to show which parts of a multiple short text question fail the validation criteria.



Sub-question validation equation (em_validation_sq)

Description

This is an equation that is used to validate each subquestion (text field) individually. Any text field that does not pass these validation conditions will have its background color turned pink (using the .em_sq_fn_validation CSS style) to highlight the error. Note that this is available in addition to the regular expression-based validation option.

Valid values

Any equation that makes use of the ExpressionScript syntax, without surrounding curly braces.

Examples

For example, if you want to allow only numbers that are a multiple of 3 as answers, the equation would be:

(this / 3) == floor(this/3)

The reserved variable this is automatically replaced by a reference to the active text entry cell.



Tip for sub-question validation equation (em_validation_sq_tip)

Description

If you are using em_validation_sq, this is an optional message/tip that will be displayed if the introduced answer is incorrect.

Valid values

  • Any string

Example

  • Continuing the example of validating emails, the tip might be "Please enter valid email addresses."