Multiple Selection Grid
Multiple Selection Grid Questions are used for allowing a multiple selection of answers from a pre-defined set of answers, for each topic out of a pre-defined set of topics, for example:
"When do you perform the following activities?" (Topics will be the activities)
Under the Survey Tree, this is how the Question Node looks like.
Each question has a set of tabs; each tab is used for different configurations – let's go over the tab's.
The View Tab
In the view tab you can configure the basic components of a question, such as its body text, its answers and its topics.
Question Type & General Settings
In the main panel, you can set the questions type, its textual color and formatting.
In the bottom panel, you can Clear the questions content, add a new question of the same type right after the current one and quickly navigate between questions:
The 'Question' Tab
Under the question's tab, within the View tab, you can define the Questions Body Text and the surveyor's instructions if any.
Defining The Questions Text
The text written in the question's tab box is the body text that will be displayed to the surveyor.
The surveyor instruction box, allows you to configure textual instructions for the surveyor that will be formatted differently than the body text.
Here I configured my body text to be:
"When do you perform the following activities?"
And the surveyor's instruction to be:
"SURVEYOR: MULTIPLE SELECTIONS FOR EACH ACTIVITY ALLOWED"
The 'Answers' Tab
The answer's tab allows you to define the questions answers, set their visual rendering, edit and configure them.
Defining the Questions Answers
Answers can be added in various ways, for example:
- Writing the answer's text in the given text field, and hitting 'Enter' or the 'Add' button.
- Defining an answer scale. (For more information about answer scales please refer to the Scripting Guide)
- Using the Multi-Add feature. (How To Add Multiple Answers and Update Them at once)
The index column represents the position order of the answer in the answers list which is given automatically by the system and is then used when referring to answers values with functions.
The 'Edit' button for the scale allows you to jump directly to the scale's editing mode.
The 'Edit' button for the answer allows you to edit its text.
The 'Properties' button allows you to configure the selected answers properties.
The rendering panel allows you to render your answer visual rendering in different ways, for example:
- The type of button's \ answers representation.
- Define the minimum\maximum selection for each topic.
- Save the selection order when exporting.
The 'Topics Tab
The topics tab allows you to configure & set the topics of the grid question.
Its usability is similar to the 'Answers' tab, besides the following options:
- 'Repeat Headers After' – If you configured some topics to be headers, this will define after how many topics the headers will appear again (used for headers that have a long list of topics underneath it)
- 'Alternating Row Colors' – Set's the rows of the grids to be in alternating default grey colors
- 'Topic Percentage' – Set's the amount of percentage out of 100% that the topic column will take out of the table (only in Table Layout rendering mode).
The Rules Tab
In the rules tab you can define Entrance Rules, Validation Rules and Branching rules.
For more detail please see the following tutorials and refer to the scripting guide:
The Scripts Tab
In the Script's tab you can define your questions Start Script, End Script and enter the advanced scripts for defining more complex functions.
For more detail about Start, End and Advanced scripts, please see the following tutorials and refer to the scripting guide:
The Variables Tab
The Variables Tab is used for configuring variable related properties of a question.
- Variable Name: is the name of the column representing this question when exporting.
- Missing Value: is the value that this question will get if it was not answered or skipped.
- Short ID: Is a short name that is used for ease of readability and is viewable in the Survey Tree next to the Question Index – Short ID's can also be used as a basis for variable names, please see: How to work with QRef's & Short ID's
Variable names can be referenced instead of Indexes by using the correct functions. (Basic Introduction to using VRef and VarName)
- Export each answer as a variable – Each answer & topic combination will be displayed as its own column in the exported file,, for example 'T_1_2_O_2' will represent topic 2, option 2.
- Export to Checked/Unchecked variables – Each answer & topic combination will be displayed as its own column in the exported file, for example 'T_1_2_O_2' will represent topic 2, option 2, if it was selected it will get the 'Checked Code', if it wasn't selected it will get the 'Un-Checked code'.
- Export both ways – will export both ways one after the other.
- Export answers as variable names – will have the answers selected coding replaced by the answer variable name instead of the answer index.
- Export Answers as text – will replace the selected coding with the answers text.
- Please Note: 'Other Specify' is not supported in multiple-selection grid questions.
The Advanced Tab
The advanced tab allows you to set & configure more advanced properties of a question.
Common usages of the advanced tab:
- Hiding a question from the surveyor.
- Randomization of Answers\Topics:
- Allowing\Disallowing 'No Answer':
Configuration of Answer Properties, Attachments and Image Properties:
Variables and Exporting Definitions
This picture represents how this question is exported.
Please note the marked Topic X Answer combinations for each of the 5 topics & 5 answers available.
The value's under each variable are the answer index that was chosen, or the missing value if it was not chsen
Common Functions used to retrieve the value
These are some common functions used with this type of question:
ContainsChoice(QuestionIndex, TopicIndex, inValue)
ContainsChoiceIter(QuestionIndex, TopicIndex, inValue, IterationIndex);
ContainsChoiceOneOf(QuestionIndex, TopicIndex, inValue);
ContainsChoiceIterOneOf(QuestionIndex, TopicIndex, IterationIndex, inValue);
NumOfSelectedChoicesChoiceIter(QuestionIndex, TopicIndex, IterationIndex);
AnswerChoiceSelection(QuestionIndex, TopicIndex, selectionIndex);
AnswerChoiceSelectionIter(QuestionIndex, TopicIndex, selectionIndex, IterationIndex);
GetAnswersChoice(QuestionIndex, TopicIndex, TrueForRandomizeFalseForNot);
GetAnswersChoiceIter(QuestionIndex, TopicIndex, IterationIndex);
GetAnswersChoiceIter(int QuestionIndex, TopicIndex, IterationIndex, TrueForRandomizeFalseForNot);
Common Functions used to set the value
SetAnswerChoice(QuestionIndex, inTopic, inValues);
SetAnswerChoiceIter(QuestionIndex, inTopic, IterationIndex, inValues);
For more functions please see the scripting guide and function library: Function Documentation