Groups

Questions can be grouped together. Grouping allows setting conditions for the group, rotating questions/groups within the group, and structuring the survey. Groups can be nested within other groups with unlimited levels of nesting.

Setting conditions for groups is described in the "Conditions and Logic" section.

To create a new group in the survey editor, click "Add" and select "Group". You can enter a description for the group (which will only be displayed to administrators). The group description is not mandatory and is intended for survey structuring. If you leave the field empty, the group description will be "Group". The group name does not require translation.

Then click "Save". The new group will appear at the bottom of the survey.

To add elements to the group, click "Sort". Then, on the desired question or group, click and hold the left mouse button on the icon and drag the question or group into the newly created group. After that, click "Save".

You can copy the group and all its contents by clicking on . All conditions and settings of internal elements will be copied. If a condition set on a question inside the copied group referred to a question within the same group, then in the copied group, this condition will refer to the new copied question. If the condition referred to a question outside the group, then in the copied group, this condition will refer to the same question.

You can set the rotation of elements within the group. This way, the elements in the group will be presented in a random order. Both questions and groups can be inside a rotation group. To configure the rotation, go to the group settings. In the group settings, check the "Items randomization" box.

You can also limit the presentation of random elements to a certain number. To do this, in the group settings, enable element rotation and enter a value in the "Limit the number of items to" field.

To delete a group, click on . You can either delete or keep all the internal elements of the group.


Repeat Groups

A group can repeat any number of times the elements located inside it. This is necessary if the same questions need to be asked several times (for example, about different products or simply a certain number of times in a row).

There are 2 types of repeats within a group:

  • Repeat by answer options
  • Repeat by number

Repeat by Answer Options

This type of repeat is based on the answer options of a specific question. The question type must be selectable (single or multiple choice).

The repeat will occur only for the selected (by the respondent or "Auto-answer") answer options.

To create a repeat group based on answer options, create a normal group. Choose the group type as “Repeat”, and the repeat type as “Repeat by answer options”.

Next, select “Question for the repeat”. Click save.

Create one or more questions (selectable, matrix, etc.). Then, move the created questions into the repeat group. These questions will be asked as many times as the number of selected answer options in the question based on which the repeat is happening.

This is the minimum set of settings required for the repeat group to work.

In reports, data export, and the respondent's survey, questions inside the repeat group will contain the repeat index and will repeat according to the repeat block settings. For example, if question R1 is inside the repeat block based on the answer options of question Q1 (answer option IDs: 1, 5, 10), then in the report, data export, and respondent's survey, question R1 will appear as R1_1, R1_5, R1_10.

Note: The settings and operation of the repeat block include the use of Flow expressions. Therefore, it is recommended to familiarize yourself with the Flow section before proceeding to study the repeat block settings in detail.

You can insert the answer option description, the answer option image, or the value entered by the user into the repeating question. To do this, you need to use a Flow expression and a special symbol ?, which contains the current answer option ID of the question based on which the repeat is happening.

For example, we used question Q1 as the basis for the repeat, which contains 3 answer options with IDs 1, 5, 10. Also, inside the repeat block, we created question R1, which will be repeated 3 times if answers are provided for all 3 options in question Q1.

To display the text description of the answer option from question Q1 in the description of question R1 for the current repeat, use the following structure:

${Q1[?]|description}- where:
? - ID of the current repeat's answer option (1, 5, or 10).

To insert the image of the answer option from question Q1, use the structure: ${Q1[?]|image}

To insert the value entered by the user from an open answer option: ${Q1[?]|value}

The symbol ? can be used without referring to an answer option. For example, to simply display the ID of the answer option contained in the current repeat, write a Flow expression like this: {?}. Note that $ is not used before { as this refers to a constant, not a substitution from the user's response.

You can also get not only the answer option ID but also the current repeat number in order. For this, the symbol ?n is used, which will contain values: 1, 2, 3 (while ? will contain the value 1, 5, 10). This way, you can display the repeat number in order by writing a Flow expression like this: {?n}

To refer to a question inside the repeat block, it's necessary to indicate the repeat index using the symbol _. For example, to refer to question R1, which was asked for the answer option with ID 1, the Flow expression would look like this: ${R1_1|count}. This expression will "return" the number of responses to question R1 for the repeat that used answer option with ID 1 from question Q1. For answer options with IDs 5 and 10, the reference to R1 would be ${R1_5|count} and ${R1_10|count} respectively.

If we need to specify the current repeat ID when referring to a question inside the repeat group, the symbol ? must be used. For example, the expression ${R1_?|count} will return the number of responses to question R1 for the current repeat. This can be used in question validation. For instance, the condition ${R1_?|count} < 2 will check the number of responses to question R1 for the current iteration of the repeat and will display an error if the number of responses is less than 2.

A group's repeat can be interrupted based on a condition. To interrupt the repeat, a Flow expression is used, which is entered in the "Repeat break condition" field in the repeat group settings. If the condition is met, the repeat will be interrupted.

For example, if question R1 contains answer options with IDs 1 and 2, and you want the repeat block to be interrupted if the answer option 2 is chosen in question R1, thereby preventing any further questions within the repeat block from being asked, you should enter the condition: ${R1_?[2]|checked} or ${R1_?|id} == 2. These two conditions are identical, but the second condition can be used if question R1 is single-choice.

Repeat groups can be nested within each other. The maximum number of repeat groups (depth) that can be nested within each other is 3. This can be useful, for example, if a list of identical questions needs to be asked for each brand.

For example, if we need to find out whether each brand was purchased in specific stores, we would create question Q1 with a list of brands. Then, we would create question Q2 with a list of stores. After that, we would create a repeat group and specify Q1 as the question for the repeat. We would create a second group, click "Sort," and move the second group inside the first one. In the settings of the second group, we would specify Q2 as the question for the repeat. Then, we would create question R1, move it inside the second group, and set its description to: Did you buy ${Q1[?]|description} at ${Q2[?2]|description}. Note that the expression ${Q1[?]|description} must be inserted as a Flow expression (using the 𝑓 button), not just text. This way, question R1 will be asked for each brand and each store.

In the repeat group, you can also specify the "Limit the number of items to" setting, which allows the repeat to be executed not for all answer options but no more than a certain number. For example, if the respondent selected 12 brands, but we need to survey only 4, we would specify 4 as the value for the "Limit the number of items to" setting.

If you want to definitely show certain brands in the case of using a limit on the number of items to be displayed, you can use the "Mandatory answer options to display" setting. This can be useful if some answer options (e.g., brands) are a priority. This setting is convenient to use in combination with rotation or sorting by the minimum number of responses. I.e., even if the answer options are sorted randomly or from the least answered to the most answered, the mandatory items to show will still be displayed.

The "Set order based on the minimum number of responses" setting will show the answer options that have the least number of responses across the entire project (only working completed surveys are considered).

The "Rotate elements" setting will sort the answer options in random order (random sorting will be performed before limiting the number of items).

If all settings are applied simultaneously (limiting the number, mandatory items to show, order based on the minimum number of responses, rotation), the sequence of execution will be as follows:

  1. Initially, the mandatory answer options to be shown will be selected.
  2. Next, answer options sorted based on the minimum number of responses will be added to the mandatory answer options.
  3. After that, the list will be trimmed to the required number of items.
  4. Finally, the final list is rotated (set in random order).

It is allowed to use a question for repetition if it is inside another repeat group. In this case, the group that will use this question must be at the same level of nesting as the question or lower. The group and the question based on which the repetition will be executed can be in different repeat groups and in different parts of the survey; however, it is important that the group is located after the question it will use for the repetition.


Repeat by Number

If we need to ask the same question a specific number of times, we should use the "Repeat by number" repeat type. To do this, create a new group, select the group type "Repeat" and the repeat type - "Repeat by number".

In the settings of the repeat by number group, there are 3 variables: "From", "To", and "Step". "From" is the starting number from which the repeat begins. "To" is the final number up to which the repeat will be performed. And "Step" is how much the repeat number will increase each time. For example, if "From" = 1, "To" = 50, "Step" = 1, then the repeat will be performed 50 times in the following sequence: 1, 2, 3, 4, 5, ..., 49, 50.

If you specify "From" = 10, "To" = 20, "Step" = 2, then the repeat will be performed 5 times in the following sequence: 10, 12, 14, 16, 18, 20. These values will be contained in the Flow variable {?}.

If in the previous example question R1 is inside the repeat block, then in the report, survey, and SPSS\Excel export it will be denoted as R1_10, R1_12, R1_14, …, where 10, 12, 14 are the repeat IDs.

If you need to interrupt the repeat based on a condition, we can write the following Flow condition in the "Repeat break condition" setting: ${R1_?[2]|checked}. The repeat will be interrupted if the answer option with ID 2 was selected in question R1 in the current repeat.

You can also display the repeat ID in the question description by simply indicating the Flow expression {?}. {?n} can also be used if the ID does not follow the sequence 1,2,3,4…