Actions

Question type - Array (Numbers)

From LimeSurvey Manual

Revision as of 17:49, 26 May 2013 by FuzzyBot (talk | contribs) (从外部源导入一个新的版本)

Short description

This type allows a large array of numbered dropdown boxes with a set of subquestions as the “y-axis”, and another set of subquestions as the “x-axis”.

You can set a special question attribute to use this question type with checkboxes.

General description

The Array (Numbers) question type allows a large array of numbered dropdown boxes with a set of subquestions as the “y-axis”, and another set of subquestions as the “x-axis”. It provides for a very large display of question and answers. By default the dropdown box contains the numbers from 1 to 10, however this can be changed by adjusting the advanced question settings.

The behavior is like this:

  • If you only specify a minimum value the range will adjust as min value + 10
  • If you only specify a maximum value, the range will be 1 and maximum value.
  • When both minimum and maximum value are present and if the minimum value is greater than the maximum value, no dropdown box will be displayed otherwise it works as usual.

Download english sample question: DP_-_Array_Multi_Flexi_Numbers.csv

You can set a special question attribute to use this question type with checkboxes:

Download english sample question: DP_-_Array_Multi_Flexi_Numbers_Checkbox.csv

Core settings

Mandatory

Description

This option allows the survey administrators to request their respondents to answer certain survey questions. If the mandatory questions are not answered, the respondents will not be able to proceed further. If you have a question with multiple subquestions, and you require only certain subquestions to be answered, use the minimum answer attribute located under the Logic tab.

If you use any of the preinstalled themes and the mandatory question attribute is enabled, a red asterisk will be shown next to the question. If you wish to hide it, please check these instructions.


Available options

  • On - Question must be answered before the participant can proceed to the next page - the answer option 'No answer' is never shown.
  • Soft - If the question is not answered, a warning is shown when trying to proceed to the next page - however, the participant can choose to ignore the warning and proceed. Note that the 'No answer' option is still shown (if activated in survey presentation settings)
  • Off (default) - Question can be left unanswered



Validation (using regular expressions) (preg_validation)

Description

This option lets you specify a regular expression with which you can validate all the parts of a question.

If any question or subquestion value does not meet the validation requirements, the background colour of the text entry field will be changed to red so that users can easily see which parts of the question need to be corrected. Thus, you can do on-page validation. In this way you will not need to wait for the user to click on the submit button to validate the respective question.

Valid values

  • Any valid regular expression

Example



Condition (previously "Relevance equation")

Description

If the result value of the condition is "1" or "true", the question is "relevant" in the survey context, i.e. it is shown to the survey participant. If not, the question is hidden. Any survey question allows you to specify a relevance equation. This function is the successor of conditions and supports much more complex conditional logic.

Syntax Highlighting

Whenever you save the condition, it is evaluated and syntax-highlighted. Any errors will be color coded so that you can quickly detect and fix them.

 Hint: To check if all conditions are used correctly within your survey, read about our show logic file feature.


Valid values

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

Examples

Here are good examples of syntax highlighting.


Advanced settings

Answer width (answer_width)

Description

This value sets the answer column width by using a percentage system. For example, if you type in this field 40, then 40 percent of the width of the question will be used for answers. The remaining width will be equally divided between the subquestions.

Valid values

  • Any integer value from 1 to 100.



Maximum value (multiflexible_max)

Description

Multiflexible_max is available only in the Array (Numbers) question type.

This sets the maximum numeric value for the dropdown lists.

Valid values

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

Example

To set a dropdown box from 1 to 10, type in this box "10".



Minimum value (multiflexible_min)

Description

Multiflexible_min is available only in the Array (Numbers) question type.

This sets the minimum numeric value for the dropdown lists.

Valid values

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

Example

To set a dropdown box starting from 7, set this attribute to 7.



Step value (multiflexible_step)

Description

Only available in Array (Numbers) question type. Sets the numeric step value for the dropdown lists.

Example

To set a dropdown box starting at the number 2, and going to 10 in 2's (ie: 2, 4, 6, 8, 10); set this attribute to 2.



Checkbox layout (multiflexible_checkbox)

Description

The checkbox layout is available only within the Array (Numbers) question type. If enabled, the survey respondent will be able to answer the subquestions by ticking the right answer via checkboxes.

This attribute will automatically use multiflexible_min=0, multiflexible_max=1, and multiflexible_step=1, regardless the custom values entered in the respective boxes.

Available options

  • On
  • Off (default)

Example

If enabled, the array (numbers) question type will look like this:


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)



Show in public statistics (public_statistics)

Description

This attribute allows the survey administrator to chose if a particular question results should be displayed to the survey participants after they submitted the survey.

Note: To have the statistics displayed on the last page, do not forget to enable this functionality from the presentation & navigation settings. Otherwise, no statistics link will be displayed at the end of your survey.

The default setting for each question is 'Off' (=Do not show the question statistics to the respondents). You have to enable this for every single question if you want to show the survey statistics of that (those) particular question(s) to the survey participants after the survey submission.

Available options

  • On
  • Off (default)



Random answer order (random_order)

Description

  Deprecated for Answer Options : As of 5.5.0, this attribute is not longer used for ordering answer options. Please see QS:Answer_order


This attribute causes LimeSurvey to ignore the existing order of answer options/subquestions, and instead it orders them randomly. This option permits the survey creator to diminish the survey bias. Please note that if a question has subquestions, the order of subquestions will be randomized, not the order of the answer options.

Available options

  • Yes - Randomize when participant enters survey
  • No (default)



SPSS export scale type (scale_export)

Description

This is used for SPSS export only. This attribute overrides the default scale guessed by SPSS. To learn what the different measurement scales do, please read the related SPSS documentation.

Available options

  • Default (default)
  • Nominal
  • Ordinal
  • Scale



Array filter (array_filter)

Description

The Array filter setting allows you to use any multiple choice question to select or set which responses are 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, Column)
  • Array (Dual Scale, Text, Numbers)
  • Ranking

Furthermore, each of these question types can be filtered.

The only exception is Array (Column), which can filter other questions, but not itself.

How to set a filter

To set a filter, enter the question code of a multiple options question in the array 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 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 Filter' box to start the filtering process of the answers. Only the answer options that are selected in question Q1 will be visible in the array_filter-ed 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 filter function will not filter the answers to the first question. Note: When you want to filter the "other" answer option from the first question, you need to provide a subquestion for this answer in the second question and the subquestion code for this answer needs to be "other". Check the below example to better understand how the whole system works.


If multiple choice allow other setting: you can choose other for subquestion code and filter with other checked or not.

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.

Array filter example

Let's take a look at the following example to better understand the power of this setting:



In the screenshot from above, we got two questions. The first one is a multiple short text question type, while the second one is an array dual scale question type. The answers you provide in the first question will be listed in the second one. Technically, the answers you provide to the subquestions from the first question are filtered and displayed in the second question.

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



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.



Array filter style (array_filter_style)

Description

This function allows you to choose how the array filtered subquestions are displayed. They can either be "hidden" or "disabled".

To learn how to filter subquestions, please read the following wiki section.

Available options

  • Hidden (default) - if this option is selected, then the previously selected subquestions will not be displayed in the second question.
  • Disabled - if this option is selected, then the previously selected subquestions will be greyed out and become unselectable.

Example

If you wish to use the "disabled" option, then the previously selected subquestions will be displayed like this:


{INCLUDE(page="Advanced question settings",start="!min_answers",stop="---")}{INCLUDE}

{INCLUDE(page="Advanced question settings",start="!max_answers",stop="---")}{INCLUDE}

{INCLUDE(page="Advanced question settings",start="!em_validation_q",stop="---")}{INCLUDE}

{INCLUDE(page="Advanced question settings",start="!em_validation_q_tip",stop="---")}{INCLUDE}

{INCLUDE(page="Advanced question settings",start="!em_validation_sq",stop="---")}{INCLUDE}

{INCLUDE(page="Advanced question settings",start="!em_validation_sq_tip",stop="---")}{INCLUDE}