Live Search | ||||
---|---|---|---|---|
|
Pages
You have already entered the questionnaire view via the Questionnaire editor menu item. Click on the + Page button to select the page you want to create.
Standard page
A standard page can contain up to 255 questions. The complexity of the question types used affects the performance. To optimize the execution time of the questionnaire pages, please use the following guiding values for orientation:
Ordinary EFS question types: 50 questions
Complex question types which require, for example, JavaScript or Flash: 25 questions.
Final page
A page with no “Submit” button. When this is reached, the questionnaire is finished, and so-called finishing rules are triggered.
Mixed-external page
With the “mixed-external” page type you can largely determine the positioning of questions on a page using HTML. This enables particularly flexible layout design. For example, you can output questions beside one another instead of one after the other. To accomplish this simply generate a table on the questionnaire page with HTML, then add the questions in the table cells by wildcard. This gives you precise control over question placement.
Example
You create four questions on the same questionnaire page. Usually, they are listed one beneath the other. But you want to output two questions per row side by side.
To create a mixed-external page, proceed similarly to other page types: Questionnaire editor → + Page → type: “Mixed-external page”
Create the desired questions as usual.
The individual questions must be incorporated into the page’s HTML code via wildcards.
The HTML input field is located below the questions.
Wildcards for questions consist of the REPLACE_COID variable and the question ID. Therefore, the following wildcard must be used for the question in the top left corner: #REPLACE_COID_13999#. An HTML input field for entering the HTML code is located below the questions.
Sample code
The HTML code you enter into the HTML input field may look as displayed in the following example. It will output the questions in a table with two rows in two cells each.
Code Block |
---|
<table>
<tr>
<td rowspan="2" width="45%" valign="top">#REPLACE_COID_13999#</td> <td width="10%"> </td>
<td width="45%" valign="top">#REPLACE_COID_16984#</td>
</tr>
<tr>
<td align="center"><IMG src="images/ball.png"></td> <td width="10%"> </td>
</tr>
<tr>
<td valign="top" width="45%">#REPLACE_COID_13998#</td> <td width="10%"> </td>
<td valign="top" width="45%">#REPLACE_COID_13995#</td> </tr>
</table>
|
Info |
---|
You can use dedicated page-specific templates instead of mixed-external pages to define page layout and positioning of questions.
|
Import pages
Page import allow you to copy pages from one project to the next. This is particularly helpful if you want to repeatedly use entire sections of a questionnaire. If, for example, you have created a questionnaire section or collecting demographic data using filters, randomization, plausibility checks, and other features, the page import function allows you to transfer this section en bloc into other questionnaires.
Proceeding
Depending on the situation, there are two ways to invoke the page import in the questionnaire editor of the destination project:
The Split button + Page allows to access the “Import pages” feature. This allows you to import pages into an empty project.
Via the + icon in the “Actions” column, you will also find Import pages.
Please proceed as follows:
Open the questionnaire editor of the destination project.
Find the page under which you want to import the page tree. In the example shown, the filter branch is to be inserted under the page “Surfing the internet”. Via the + icon you can trigger Import pages.
Specify the desired source project.
Select the source page.
Click on Import to initiate copying of the page tree.
If necessary, you can further adjust the position of the imported page tree via drag & drop.
Info |
---|
You can copy pages both within a project and from one project to another. It is not possible to copy from one EFS installation to another. |
The Functional Scope
You can copy pages and from EFS 10.3 questions both within one project and from one project to another. It is not possible, however, to copy from one EFS installation to the next.
Pages, questions, and variables will be newly created during the import process, i.e. their IDs will change.
When copying filters, plausibility checks etc. the conditions will be adopted as defined in the source project; i.e. if the reference variables are included in the copied branch the conditions will work in the copied project. If the reference variables are not included in the copied branch, the conditions must be checked and adapted to the new project.
If the source pages or questions contain any lists, the answer options on these lists will be copied and adopted as static answer options. The actual lists will not be copied.
Loop branches will be copied during page import; however, the corresponding lists will not be imported.
Images used in the source pages or questions will be imported if they have been correctly embedded in an appropriate question type (e. g. 999, 511, 521, 522). Images that were, for example, manually inserted into an answer option using HTML will not be imported automatically.
Page import can be used to migrate questionnaires from other layout generations or versions into a new project. If parts of a “Responsive layout” questionnaire are imported into a project with classic standard layout, “Responsive layout” question types will be transformed into their fallback question types.
If page import is used for multilingual projects, the translations can be imported. To this end, the necessary languages must exist both in the source and the destination project and be marked with the same language ID and language identifier.
When using the question import newly introduced in EFS 10.3, you can select only source projects which have the same layout generation and version as the target project.
When using the question import newly introduced in EFS 10.3, you can specify the language in the source project that should be transferred.
Info |
---|
You can create an archive of frequently used questionnaire sections for the page import: Create a master project with separate branches for frequently used questionnaire sections. If you need a section in a real project, you can simply import it from your master project. |
Filter
If you create a survey page of the “Standard” type, all participants in the survey will automatically be routed to the next page as soon as they have answered and clicked on the “Submit” button. Additional questions can be directed at participants, who have provided answers which you have specified or at those with specific properties saved in participant administration. Other respondents who do not meet the filter criterion will skip these questions.
Possible Filter Applications
Selecting different filters determines the type of routing. The filters themselves route respondents from a main level to further sublevels. Depending on the answer, the “Filter” page type will route the participant to the next page or cause them to skip pages.
Info |
---|
If you’re using a question for filtering (e.g. Yes/No question), it might make sense to set this question as Mandatory (DAC),so the respondent cannot skip it and a proper routing through the survey is ensured and no missing values are generated. |
Defining Conditions for Filters and Other Dynamic Features
This chapter introduces you to the condition editor of EFS. It is used not only with filters, but also with hiding conditions, triggers, and other dynamic functions.
The first section walks you through the definition process for a condition.
Afterwards, the various features and rules to be observed are presented.
Defining a condition
Please proceed as follows:
After you have created a new page of the “Filter” type, it will be displayed in the questionnaire view. Click on the page title to open the condition editor.
Creating a condition requires the following settings:
Negation: You can negate the following condition by ticking the checkbox in this column. Please note, the usual rules of logic apply to the use of brackets. Usually you will want to combine the negation with brackets to guarantee meaningful results.
Variables: The drop-down list is used to set the variable. A list of available variables can be found here.
Condition: In this column, a logical operator is selected.
Code: This column is used to enter the corresponding answer value. More information on this topic can be found here.
The condition will not be finally saved until you click on the Save button.
You can make a filter definition as complex as you wish by adding further conditions and creating conjunctions between them. To do so, use the new empty condition row that is displayed after the first condition has been saved: Fill in this row as explained above.
Create conjunctions between the conditions: To do so, select AND or OR from the “Conjunction” drop-down list. More information on this topic can be found here.
If required, you can change the processing order using brackets.
Click on Save again. The next new condition row will be displayed enabling you to expand your definition step-by-step by adding several conditions, if required.
You can remove a superfluous condition by ticking the checkbox in the “Delete” column and then clicking on Save.
Variables available for filtering
The following variables can be used as the starting basis for filtering:
Project variables (v_000n)
URL parameters (c_000n)
User-defined variables (p_000n)
System variables: quota, language, output_mode, javascript, flash, user_agent. (The availability depends on project type, project configuration, activated extensions etc.)
The variable quota_assignment, in conjunction with the link "contains", can be used as a filter.
List element number
Initial size of the list being used: Refers to the size of the list after checking the inclusion conditions for the individual elements (seeDynamic lists). The possibilities for further query specific restrictions have not been taken into account.
Loop number: Number of times a loop runs. Initially, this filter option does not allocate to which list element each loop cycle will relate. The number refers to the position of the cycle in the dynamically generated sequence.
For personalized projects: Participant variables.
For Employee surveys: Org Processor data.
org_code_structureID (Primary Structure.OrgCodePreAllocation): Unit in the named structure to which the participants have been allocated. E.g. org_- code_1 is the unit of the participants in the primary view (structure ID = 1).
org_allocation_structureID (Primary Structure.OrgCodeSelfAllocation): Unit in the named structure to which the participants have allocated themselves. E.g. org_allocation_1 is the self-allocated unit of the participants in the primary view (structure ID = 1) (Please note that self-allocation requires special programming.)
org_function_structureID (Primary Structure.OrgFunction): Function of a participant in the named structure. E.g. org_function_1 is the function of the participant in the primary structure (Struktur-ID = 1).
For EFS Panel installations: Participant variables containing the data of the panelists.
For EFS Panel installations: Master data variables (m_000n, md_000n).
Info |
---|
The Codebook, which can be opened in a second window by clicking on the corresponding menu item, contains a detailed breakdown of the variables and codes for the respective project. |
Logical Operators
The following operators can be used:
Operator | Symbol | Meaning |
---|---|---|
greater | > | Greater than “answer value x” |
greater equal | >= | Greater than or equal to “answer value x” |
equal | == | Equal to “answer value x” |
less equal | <= | Less than or equal to “answer value x” |
less | < | Less than “answer value x” |
unequal | != | Unequal (“answer value x” is excepted) |
contains | contains | Used primarily for filtering via texts, see the following notes on coding when filtering via content from the participant administration. Produces all texts that contain the entered text element, for example when filtering for “cd” “abcde” will also be filtered out. Filtering is case sensitive, blank spaces will be regarded as an incorrect entry. Umlauts can be used. |
contains any | contains any | Firstly, you can use this condition to check whether an entry contains one of several specified elements. Example: Entering “22” would fulfill the condition “contains any = 11,22,33”, whereas entering “123” or “122” would not. Secondly, you can use this condition to identify a specific element in an entry that consists of multiple elements, such as a phone number. Example: Entering “0229-1234” would fulfill the condition “contains any = 1234”, whereas entering “0229-12345” would not. Acceptable separators are comma, apostrophe, “- “ and “|”. |
matches regex | matches regex | Regular expressions can be used in the filter condition. They must be enclosed in slashes. The following check, for example, allows to detect 98% of mobile devices: /Mobile|iP(hone|od|ad)|Android|Black- Berry|IEMobile|Kindle|NetFront|Silk-Accelera- ted|(hpw|web)OS|Fennec|Minimo|Opera M(obi|ini)|Blazer|Dolfin|Dolphin|Skyfire|Zune/ |
in (For Employee surveys with EFS Employee) | in | The variable selected must contain the organizational unit named in the “code” field. |
in or below (For Employee surveys with EFS Employee) | in or below | The variable selected must contain either the unit named in the “code” field or one of its subunits. |
in branch (For Employee surveys with EFS Employee) | in branch | The variable selected must contain either the unit named in the “code” field or any other unit from the complete branch (from the root unit down to the lowest level). This operator is usually not used for routing purposes in the questionnaire, but for report definitions. |
Info |
---|
If you want to evaluate your survey in EFS Reporting+, please note that EFS Reporting+ does not support all operators listed above.
If a standard questionnaire filter contains one of these unsupported operators, the condition will be blank after transfer into EFS Reporting+. Alternative filters with unsupported operators will not be transferred at all. |
Selecting Codes
The condition editor helps you to select suitable codes.
If the data type of the selected variable includes codes resp. characteristics, these codes resp. characteristics are automatically offered in the “Code” field. All you need to do is select the appropriate code.
For variables of data type “text”, you have to enter the code value for the condition yourself. This may happen, for example, if a free entry field is used to query a staff number or a zip code, or if the condition refers to a participant variable of type “text”.
For variables of data type “text”, the filtering is case sensitive. Blank spaces will be regarded as an incorrect entry. Umlauts can be used.
If you wish to identify participants who did not enter anything in a specific text field, leave the “code” field empty. If, for example, all participants who left the v_1 text field empty are taken to an additional page below the filter, the condition could be “v_1 equal ”. (The condition “v_1 equal 0” would not work: Due to the predefined code “0”, the software expects a number that is not equal to 0. If the respondent enters a text, PHP classifies this as 0.)
Info |
---|
Please note: Using filters on open answers is generally problematic. It is virtually impossible to predict what participants will enter – on the other hand you can only correctly formulate filter conditions if you know which data type is to be expected as input, for example. You should therefore use plausibility checks or type checks to restrict input options from the outset. If, for example, you ask for a percentage and then want to filter the value, a numbers-only check allows you to make sure that participants have not entered texts or negative numbers. |
Note |
---|
Please note that in the alternative filter conditions of the questionnaire, it is essential to use quotation marks for the text in the case of text comparisons. Example: IF (u_language = "en"). As always, please test the correct/expected behavior when creating filters. |
Conjunctions with AND and OR
A filter is designed to only route a participant to a subpage if they simultaneously meet two conditions resulting from two different questions. To achieve this, you must set at least two filter definitions and create an AND conjunction between them.
If you create an OR conjunction between the filter conditions, the subpage below the filter will be shown to the respondent if they meet the condition resulting from one question or the other. You can place the filter page anywhere within the page layout as long as the filter is created after the questions to which it refers.
Info |
---|
It is recommended to use not more than 100 AND/OR conjunctions. Tip: Many filters that require a lot of effort when working with EFS standard filter definitions or alternative filter conditions can be realized more easily and more efficiently with LUA. More information on LUA can be found in our how-to topic LUA scripting in EFS. |
Using brackets
You can specify user-defined brackets in the condition editor. The usual rules of logic apply. This means, in particular:
Without brackets AND conjunctions will always take priority over OR conjunctions.
For example, “v_1=1 AND v_2=0 OR v_3=1” will be processed as “(v_1=1 AND v_2=0) OR v_3=1”.
If you want the condition to be processed as “v_1=1 AND (v_2=0 OR v_3=1)”, you must insert the corresponding brackets.
Without brackets, negation will always take priority over anything else. Therefore, in most cases negation must be combined with brackets:
If you want to negate v_1 > 0 explicitly, for example, the syntax is : !(v_1 > 0).
Without brackets, the condition !v_1 > 0 would be processed as (!v_1) > 0. I.e. first the system would check if the variable has one of the two values 0, 1 permitted by boolean logic. Such a check is possible, but in context of the situation in the condition editor, it is usually not intended by the user. For variables with more characteristics, the boolean check does not make any sense. In the second step, the condition >0 is be applied to the result.
I.e. when using negation in the condition editor, usually you will want to use brackets to guarantee meaningful results. Alternatively, in many cases it is possible to replace the negation by other operators and additional conjunctions.
If you have inserted incorrect, i.e. incomplete, brackets, an error message will be dis- played on saving, indicating that the filter as such has been saved, but not the brackets. This means:
The condition editor will continue to display the brackets, giving you an opportunity to locate and correct the error.
If you ignore the error message and leave the incorrect brackets unchanged, the database will not consider the incorrect brackets when processing the data, but proceed according to the usual rules (with AND always taking priority over OR).
Please mind: brackets which do not fulfill the intention of the author, but establish a logically meaningful syntax, cannot be identified automatically.
Dynamics
The sequence of pages, questions, answer options and scale options in the questionnaire can distort survey data. This can be avoided in an online questionnaire by randomly changing the position of the elements. In EFS there are various functions available for this purpose.
Random selection
The participants will be routed to one or several randomly selected pages. Page 1 is located on the main level, followed by a random selection element. Indented in the branch below, there are two pages: in this example, page 2 and page 3. The survey is routed as follows: After completion of page 1, one of the indented subpages will be randomly selected. I.e. in the example, either page 2 or page 3 will be displayed. After the selected page has been sent, the respondent will continue on page 4.
Any number of nestings of random selection blocks is possible.
Info |
---|
To find out which pages of a random selection block a participant has seen, check the content of the variable rnd_pg_PGID in the export file. |
Repeating the Random Selection on Re-load
You can specify whether the random selection is to be repeated when a page in the random selection branch is reloaded. To do so, in the questionnaire view, please click on the Title of the random selection element. The Properties menu is opened. In the drop-down list labeled “Behavior when reloading a page” you can choose whether the random selection will be repeated or not.
The default setting is “Do not repeat random selection process”.
Selecting m out of n Pages
Optionally, you can present m out of n randomly selected pages to the respondents. In a product test, for example, it is possible to select randomly five out of twenty pages on which different concepts are presented and present them to the respondents. It is still possible to use “m out of n” selection with complex structures containing nested random selection blocks and filter blocks.
To do so, open the Properties menu again (see above). In the field “Number of pages in random selection”, you can enter how many pages of the “Random selected” block will be randomly selected and displayed.
By default, a value of 1 is set.
Info |
---|
Please note: random selection is not a uniform distribution. |
Filters in Random Selection Branches
If a random selection branch contains a filter whose condition is not met, the random selection will be repeated until
a page without filters is found,
a filter whose condition is met is found or
all subpages have been tried without a filter being met.
Info |
---|
If a random selection branch contains a second random selection branch which in turn contains filters, the following complication may occur: The first random selection process selects the second random selection branch from the various options. The random selection initiated by the second branch, in turn, finds a filter whose condition is not met. In this case, the entire random selection process will be aborted, and the survey will be continued on the main level. |
Random order
The order of pages can be randomly changed.
Please proceed as follows:
Open the “Dynamics” drop-down list above the questionnaire view and create a “Random order” element.
Drag this element to the desired position in the questionnaire.
Drag all pages whose position should be switched at random into an indented branch below the “Random order” element.
Any number of nestings of random order blocks is possible.
Info |
---|
To find out in which order a participant has seen the pages in a random order branch, check the content of the variables “rnd_pg_PGID_NR” in the export file. |
Loops
“Loops” differ from normal questionnaire branches insofar that their page contents and variables are not yet fixed at the beginning of the survey, but newly calculated for each respondent during the survey. This means that variables and pages within loops are formed dynamically, which is a difference from the EFS variables and pages you are familiar with, also in terms of functionality.
Creating a loop
Create a new dynamic element titled “Questions about known TV channels”, choosing the “Loop” type.
Confirm by clicking on Submit.
The new loop page will be displayed in the questionnaire view.
Choosing a list
Click on the link No list selected.
The list selection dialog will open.
Select the list to be assigned to this loop. In the example, respondents are asked to assess the range of various TV channels, i.e. you must choose the “TV channel” list.
Then, click on Save.
Defining processing rules
In order to configure the output rules for lists that have been placed within a loop, click on the title of the loop in the questionnaire view.
The additional option “Randomize list elements” is available for loops.
Furthermore, you can specify a condition for cancelling the loop. To open the condition editor, click the Edit link in the “Cancel loop, if” field.
Creating a Looped Page
Your next step is to create a looped page, i.e. a page that will be displayed repeatedly, displaying one element of the loop list after the other. The procedure for this is similar to that for creating a filtered questionnaire page: In the row containing the loop page, click on the Create new page or filter icon, enter “Favorite programs” as the title, choose the “Standard” page type, and then click on Submit to save. The page will now be create as a looped page.
Create one or more questions on the page. Insert the question text, using the #TVchannel# wildcard.
Enter any existing answer items as usual. (The example shown was simplified by choosing an open-ended question, for which this is not necessary.) Make any further required settings, and then click on Save.
Applications
Creating a second looped page
You can create several looped pages for one loop.
Creating answer items on looped pages via further lists
As usual, you can manually enter answer items for pages in a loop. However, it is also possible to access a dynamic or static list.
For example, you can enter the answer items for the “Assessment by subject” page shown in the figure as with the standard procedure, but you can also retrieve the items from a list.
To do so, please proceed as follows:
Create the “Assessment by subject” page.
On this page, create a question of the “Standard matrix 1” type (type 311).
Enter the question text. In doing so, replace the name of the TV channel with the wildcard of the list that is associated with the loop, i.e., in this example, the #TVchannel# wildcard of the “TV channels” list.
Open the “Scale” area and enter the scale for the matrix. Then, click on Save.
Open the “Dynamic answers” area and then click on the Select button.
Choose the list you wish to use to determine the answer options, i.e., in this example, the “Subjects” list. Confirm by clicking on Save.
Clicking on Back to editor will take you back to the question view. For the default answer options, tick the Delete checkbox.
Complete the work process by clicking on Save.
Loop-in-Loop
It is possible to nest up to three loops.
Info |
---|
If you intend to evaluate the result data subsequently in SPSS, please note the following: The SPSS export’s variable length is limited to eight characters. With interleaved loops or loops with many pass-throughs this length can be exceeded. In projects with complex loops prior to survey commencement you should therefore check whether the data can be exported subsequently by SPSS as desired. |
Incorporating wildcards into answer options
You can incorporate the wildcard of the list controlling the loop both into the question text, as explained above, and into an answer options. Furthermore, you can incorporate several versions of the wildcards into the same question (see the following section for details).
Outputting different text versions via wildcards
When you formulated the question text so that the names of all list elements fit in, this can often pose difficulties. If, for example, you are using several looped pages, you may wish to insert the list elements in the singular in one question and in the plural in another. That would not be possible with only one wildcard.
The lists used in EFS therefore offer the possibility of creating the standard wildcard (#wildcard#) plus four more wildcard versions (#wildcard_2#, #wildcard_3#,...). These give you more flexibility in formulating your question texts.
The dialog for creating alternate wildcards for loops is located on the lists editor’s Wildcards tab.
For each list element, the content of the standard wildcard (“Wildcard 1”) is defaulted via the source question and cannot be changed. The other wildcards can be filled with your own content.
In a question, the alternative texts are incorporated using the wildcards #wildcard_2# through #wildcard_5#, with “wildcard” to be replaced with the name of the general wildcard for this list. If, for example. the name of the general wildcard is #TVchannel#, the alternate texts will be invoked using #TVchannel_2# through #TVchannel_5#.
Info |
---|
To translate the wildcards in multilingual projects, find the list in the overview of the Questionnaire editor → Lists menu, click on the Globe icon and use the View button to open the text elements of the desired languages. |
Filtering on Loop Variables
You can access variables in a loop branch from all filters, regardless of whether the filters are placed within or outside of the loop branch.
Filtering based on loop conditions within a loop branch
If the filter is located in a loop branch, you only have to select the desired variable. The filtering will occur automatically based on the current loop condition.
Filtering on the basis of loop variables from outside a loop
If the filter is located outside the loop branch, simply selecting the variable will not be enough: If you did that, you would automatically perform the filtering based on the last current loop condition, which is not necessarily the condition you want to use. To clearly specify the desired loop condition, please proceed as follows:
In the condition editor, select the loop variable, and click on Save.
A new checkbox labeled “Restrict to list elements” will be displayed, allowing you to filter based on a single, clearly defined loop condition.
Tick the checkbox, and click on Save.
The loop name will be displayed. Additionally, a drop-down list allows you to choose a single list element.
Make your selection, and click on Save again.
Describing loop conditions
The codebook describes the conditions on a loop, e.g. variable combinations belonging to each looped page and the outputted list elements:
If, for example, a looped page contains the variable “v_6” with four characteristics (1=“Very satisfied”, 2=“Satisfied”, 3=“Partly satisfied”, 4=“Not satisfied”) and four elements of a dynamic list are to be output, then the conditions of this loop will be described by the following variables:
v_6_1: results for the question in the loop condition, in which the first list element selected for the display was displayed, with characteristics 1=“Very satisfied”, 2=“Satisfied”, 3=“Partly satisfied”, 4=“Not satisfied”.
v_6_2: results for the question in the loop condition, in which the second list element selected for the display was displayed, with characteristics 1=“Very satisfied”, 2=“Satisfied”, 3=“Partly satisfied”, 4=“Not satisfied”.
v_6_3: results for the question in the loop condition, in which the third list element selected for the display was displayed, with characteristics 1=“Very satisfied”, 2=“Satisfied”, 3=“Partly satisfied”, 4=“Not satisfied”.
v_6_4: results for the question in the loop condition, in which the fourth list element selected for the display was displayed, with characteristics 1=“Very satisfied”, 2=“Satisfied”, 3=“Partly satisfied”, 4=“Not satisfied”.
Exporting and Evaluating Loop Data
When loops are used, large amounts of data must be processed. Accordingly, generating the export record will be very time-consuming. Therefore, if you only need specific data, it is recommended that you use the selective export described in the following section. When exporting, please proceed as follows:
Info |
---|
When selecting the export format please note the following: The SPSS export’s variable length is limited to eight characters. With interleaved loops or loops with many pass-throughs this length can be exceeded. |
If you wish to export data with SPSS check in projects with complex |
loops whether the data can be exported subsequently by SPSS as desired |
4. Incorporating wildcards into answer options
You can incorporate the wildcard of the list controlling the loop both into the question text, as explained above, and into an answer optionss. Furthermore, you can incorporate several versions of the wildcards into the same question (see the following section for details).
5. Outputting different text versions via wildcards
When you formulated the question text so that the names of all list elements fit in, this can often pose difficulties. If, for example, you are using several looped pages, you may wish to insert the list elements in the singular in one question and in the plural in another. That would not be possible with only one wildcard.
The lists used in EFS therefore offer the possibility of creating the standard wildcard (#wildcard#) plus four more wildcard versions (#wildcard_2#, #wildcard_3#,...). These give you more flexibility in formulating your question texts.
The dialog for creating alternate wildcards for loops is located on the lists editor’s Wildcards tab.
For each list element, the content of the standard wildcard (“Wildcard 1”) is defaulted via the source question and cannot be changed. The other wildcards can be filled with your own content.
In a question, the alternative texts are incorporated using the wildcards #wildcard_2# through #wildcard_5#, with “wildcard” to be replaced with the name of the general wildcard for this list. If, for example. the name of the general wildcard is #TVchannel#, the alternate texts will be invoked using #TVchannel_2# through #TVchannel_5#.
Info | ||
---|---|---|
| ||
To translate the wildcards in multilingual projects, find the list in the overview of the Questionnaire editor → Lists menu, click on the Globe icon and use the View button to open the text elements of the desired languages. |
Filtering on Loop Variables
You can access variables in a loop branch from all filters, regardless of whether the filters are placed within or outside of the loop branch.
Filtering based on loop conditions within a loop branch
If the filter is located in a loop branch, you only have to select the desired variable. The filtering will occur automatically based on the current loop condition.
Filtering on the basis of loop variables from outside a loop
If the filter is located outside the loop branch, simply selecting the variable will not be enough: If you did that, you would automatically perform the filtering based on the last current loop condition, which is not necessarily the condition you want to use. To clearly specify the desired loop condition, please proceed as follows:
- In the condition editor, select the loop variable, and click on Save.
- A new checkbox labeled “Restrict to list elements” will be displayed, allowing you to filter based on a single, clearly defined loop condition.
- Tick the checkbox, and click on Save.
- The loop name will be displayed. Additionally, a drop-down list allows you to choose a single list element.
- Make your selection, and click on Save again.
Describing loop conditions
The codebook describes the conditions on a loop, e.g. variable combinations belonging to each looped page and the outputted list elements:
If, for example, a looped page contains the variable “v_6” with four characteristics (1=“Very satisfied”, 2=“Satisfied”, 3=“Partly satisfied”, 4=“Not satisfied”) and four elements of a dynamic list are to be output, then the conditions of this loop will be described by the following variables:
- v_6_1: results for the question in the loop condition, in which the first list element selected for the display was displayed, with characteristics 1=“Very satisfied”, 2=“Satisfied”, 3=“Partly satisfied”, 4=“Not satisfied”.
- v_6_2: results for the question in the loop condition, in which the second list element selected for the display was displayed, with characteristics 1=“Very satisfied”, 2=“Satisfied”, 3=“Partly satisfied”, 4=“Not satisfied”.
- v_6_3: results for the question in the loop condition, in which the third list element selected for the display was displayed, with characteristics 1=“Very satisfied”, 2=“Satisfied”, 3=“Partly satisfied”, 4=“Not satisfied”.
- v_6_4: results for the question in the loop condition, in which the fourth list element selected for the display was displayed, with characteristics 1=“Very satisfied”, 2=“Satisfied”, 3=“Partly satisfied”, 4=“Not satisfied”.
Exporting and Evaluating Loop Data
The export process
When loops are used, large amounts of data must be processed. Accordingly, generating the export record will be very time-consuming. Therefore, if you only need specific data, it is recommended that you use the selective export described in the following section. When exporting, please proceed as follows:
You can initiate the process from the Export menu as usual: first, choose the “Data (all answers)” option.Info | ||
---|---|---|
| ||
When selecting the export format please note the following: The SPSS export’s variable length is limited to eight characters. With interleaved loops or loops with many pass-throughs this length can be exceeded. If you wish to export data with SPSS check in projects with complex loops whether the data can be exported subsequently by SPSS as desired before commencing with the survey. |
In the next dialog, select the desired basic and advanced options.
Tick the checkbox in the “Select data” area.
Confirm with Export.
In the next dialog, select the desired variables. The loop variables are not listed individually: they can be selected or de-selected using the “All loop variables of the questionnaire” option.
Confirm with Export.
Once the file has been generated, you will be notified via e-mail. Clicking on the link contained in the notification mail will take you directly to the download page.
Info | ||
---|---|---|
| ||
If you are taken to the login form after clicking on the link contained in the notification mail, log in, and then click on the link in the e-mail again. |
Export variables
The export variables are composed as follows:
v_variablenumber_listelementnumber
When one loop is nested into another, this becomes:
v_variablenumber_listelementnumberlist1_listelementnumberlist2
Raw data export
Raw data of the loops in a project allow you to trace exactly what and in which order a respondent has seen and answered in the loop.
In order to export the raw data selectively, you must first choose the “Raw loop data” option in the Export menu. Then choose the desired basic and advanced options, as usual.
For each participant, the raw loop data record contains a column for every list element used, comprising the following information:
Indicates whether the participant in question is a tester (not for anonymous projects), 1 being for a tester and 0 for a normal participant.
le_nr
(in case of nesting gle_nr, ple_nr, le_nr)
List element no. of the element to which the respective loop cycle refers. Which elements are used in the loop depends on the inclusion conditions for the list and the loop.
If several loops are nested (no more than three possible), the list elements displayed at a certain stage of the loop cycle are coded as follows:
- The list element at the top nesting level is marked with gle_ (g = “grand”), i.e. ple_nr represents the list element number and ple_text the output text.
- The list element at the next level is marked with ple_ (p = “parent”).
- The list element loaded by the loop at the center of the nest is marked with le_.
The text output for the respective list element
The duration of survey completion, i.e. the time elapsed between the respondent’s first and last accessing of the questionnaire.
EFS Features with Limited or No Functionality in Loop Projects
- The Back button cannot be used within a loop branch due to the dynamic creation of the loop pages.
- If randomization and/or random selection are applied to the list elements of a loop and a participant resumes the questionnaire after an interruption, randomization or random selection will be executed anew when entering the loop. I.e. on resumption the participant may see other elements in another sort order.
- If the answer options of the source question of a loop are grouped, display depends of the group items. To display the answer options, the allocated group item must always be part of the list (inclusion condition “always in list”). If a group item is not part of the list, its allocated answer options are skipped in the loop.
- The plausibility check editor does not accept the v_x_y variable names (v_variablenumber_listelementnumber) used in loops. If you wish to access the current value of a variable in a loop, simply use the conventional variable name instead, e.g. v_x, and omit the _y_z part that follows.
- When defining quota conditions, you cannot access loop variables.
- It is not possible to use a page trigger to redirect to a page located within a loop branch.
In the case of the variable split trigger, variables located within a loop branch cannot be used as a split attribute.
If the recoding trigger is used to recode variables that are located within a loop branch, these variables are overwritten with each pass.
Time measurement cannot be applied to variables located within a loop branch. The quality index will be skewed because looped pages are sent more than once and the survey table has only one timestamp field.
It is not possible to upload externally collected loop data into EFS via Data import.
It is not possible to display missing values for pages within a loop branch in Online statistics.
Questions on pages within a loop branch are not displayed in the Detail view.
Data from variables located within a loop branch cannot be cleaned using the Data cleaning function.
It is not possible to split the field report using variables located within a loop.
From EFS 10.2, loop data can be analysed in EFS Reporting+. Please mind: Up to 1,000 loop variables can be imported. But a high number of variables may have a negative impact on the installation’s performance. Until EFS 10.1, it is not possible to analyse loop data in EFS Reporting+.
Loops can be used in master data and panel surveys. But the data collected in the loop cannot be used as master dataa: A master data transfer of loop data into the master data is not possible.
borderColor | #75b5a4 |
---|---|
title | Topics |
before commencing with the survey. |
You can initiate the process from the Export menu as usual: first, choose the “Data (all answers)” option.
In the next dialog, select the desired basic and advanced options.
Tick the checkbox in the “Select data” area.
Confirm with Export.
In the next dialog, select the desired variables. The loop variables are not listed individually: they can be selected or de-selected using the “All loop variables of the questionnaire” option.
Confirm with Export.
Once the file has been generated, you will be notified via e-mail. Clicking on the link contained in the notification mail will take you directly to the download page.
In the Export tasks menu, you can check the status of the export job.
After clicking on Copy file to local PC, you can continue the download as usual.
Info |
---|
If you are taken to the login form after clicking on the link contained in the notification mail, log in, and then click on the link in the e-mail again. |
Export variables
The export variables are composed as follows:
v_variablenumber_listelementnumber
When one loop is nested into another, this becomes:
v_variablenumber_listelementnumberlist1_listelementnumberlist2
Raw data export
Raw data of the loops in a project allow you to trace exactly what and in which order a respondent has seen and answered in the loop.
In order to export the raw data selectively, you must first choose the “Raw loop data” option in the Export menu. Then choose the desired basic and advanced options, as usual.
For each participant, the raw loop data record contains a column for every list element used, comprising the following information:
Variable | Meaning |
---|---|
lfdn | The respondent’s consecutive number |
tester | Indicates whether the participant in question is a tester (not for anonymous projects), 1 being for a tester and 0 for a normal participant. |
dispcode | The participant’s disposition code |
loop | Loop ID |
loopnumber | Number of the loop cycle |
le_nr (in case of nesting gle_nr, ple_nr, le_nr) | List element no. of the element to which the respective loop cycle refers. Which elements are used in the loop depends on the inclusion conditions for the list and the loop. If several loops are nested (no more than three possible), the list elements displayed at a certain stage of the loop cycle are coded as follows:
|
le_text | The text output for the respective list element |
v_000x | The answers given in the respective cycle |
duration | The duration of survey completion, i.e. the time elapsed between the respondent’s first and last accessing of the questionnaire. |
lastaccs | Date and time of when the survey was last accessed. |
EFS Features with Limited or No Functionality in Loop Projects
The Back button cannot be used within a loop branch due to the dynamic creation of the loop pages.
If randomization and/or random selection are applied to the list elements of a loop and a participant resumes the questionnaire after an interruption, randomization or random selection will be executed anew when entering the loop. I.e. on resumption the participant may see other elements in another sort order.
If the answer options of the source question of a loop are grouped, display depends of the group items. To display the answer options, the allocated group item must always be part of the list (inclusion condition “always in list”). If a group item is not part of the list, its allocated answer options are skipped in the loop.
The plausibility check editor does not accept the v_x_y variable names (v_variablenumber_listelementnumber) used in loops. If you wish to access the current value of a variable in a loop, simply use the conventional variable name instead, e.g. v_x, and omit the _y_z part that follows.
When defining quota conditions, you cannot access loop variables.
It is not possible to use a page trigger to redirect to a page located within a loop branch.
In the case of the variable split trigger, variables located within a loop branch cannot be used as a split attribute.
If the recoding trigger is used to recode variables that are located within a loop branch, these variables are overwritten with each pass.
Time measurement cannot be applied to variables located within a loop branch. The quality index will be skewed because looped pages are sent more than once and the survey table has only one timestamp field.
It is not possible to upload externally collected loop data into EFS via Data import.
It is not possible to display missing values for pages within a loop branch in Online statistics.
Questions on pages within a loop branch are not displayed in the Detail view.
Data from variables located within a loop branch cannot be cleaned using the Data cleaning function.
It is not possible to split the field report using variables located within a loop.
From EFS 10.2, loop data can be analysed in EFS Reporting+. Please mind: Up to 1,000 loop variables can be imported. But a high number of variables may have a negative impact on the installation’s performance. Until EFS 10.1, it is not possible to analyse loop data in EFS Reporting+.
Loops can be used in master data and panel surveys. But the data collected in the loop cannot be used as master dataa: A master data transfer of loop data into the master data is not possible.
External survey start
The “external survey start” of EFS allows to send survey participants from one project to a second project and to redirect them upon completion. This can be necessary in the various situations.
Scoring
Scoring opens up a wide range of different uses. You can define scoring for each answer option of a question. If a respondent selects answer options, the corresponding points are assigned to him/her. Based on the score, i.e. the score of the survey participant, you can then initiate follow-up actions, for example, using triggers. Potential application scenarios would be a quiz, personality tests or other qualification tests, for example for the acquisition of suitable job candidates.
Almost unlimited categories of scores can be created for a question. This makes it possible to use multi-dimensional parameters to evaluate a participant. Scoring is available for the following question types in all layouts: 111, 112, 113, 121, 122, 131, 132, 141, 142, 311, 312, 313, 321, 322, 511, 522, 611, 621, 641, 661
Info |
---|
Scoring must be completely configured before you can start the survey. The scoring cannot be tested in the preview but only in live mode. |
Scoring in Detail
To configure the scoring, click on the Scoring button in the questionnaire editor. Scores can be defined for each question in the scoring window. All questions to be included in the scoring can be selected successively. You can use the wheel icon to toggle between scoring a question and creating new categories. You can define score values:
for each scale option in the single choice and standard matrix question types listed above.
for the status "selected" and "not selected" in multiple choice question types.
for different phrases (including upper and lower case) for single-line and multi-line text fields.
The score values must range between -999 and 999, decimal numbers are not allowed. Please avoid plausibility checks that use score variables from a loop page: The score values are only available after the loop has been completely processed. After you have defined the desired scores, click on the scoring button again to close the scoring window.
Use Scoring Data
The values assigned to participants are defined in specific scoring variables.
The variable name is s_000x.
The values can be displayed in the questionnaire with the placeholder #s_000x#.
The scoring variable names can be used for filtering, fade-out conditions, triggers, etc.
The scoring variables are included in the export data record.
Preview
When creating and editing the questionnaire, it is helpful to be able to directly monitor the impact the changes have on the questionnaire’s appearance. Via Preview icons located at all important places in the admin area you can preview the complete questionnaire, the respective question (“Preview question”) or the respective questionnaire page (“Page preview”) in a pop-up window.
Differences between preview mode and productive mode
The difference between the preview and the normal project run-through is that the data collected are not saved to the database but to the so-called session table. This is a database table that will be cleared when you log out. This prevents contamination of the results tables with test data.
Thus, the preview does not support all of the features available for use in the productive mode.
The progress bar is not calculated accurately.
For triggers, you can decide yourself whether they should be executed in the preview.
Dynamic output of content via wildcards cannot be tested in preview mode, as data generated in the preview cannot be allocated to a participant account and dataset
In order to keep you informed on whether you are working in preview mode or productive mode, the preview shows a corresponding notice in the upper right corner.
Info |
---|
Before starting your project, be sure to also test it via the “normal” project URL, which is located in the project information dialog. |
Viewing Runtime Error Messages in Preview
EFS features a runtime check for checking the conditions of LUA filters and quotas in the course of the survey. If an error occurs while testing in preview mode, an icon will be displayed in the preview toolbar. Move your mouse pointer over this icon to display the error message.
Jumping to Other Pages
Instead of going through the whole questionnaire in the preview, you can navigate directly to individual pages. For this purpose, a page selection list can be displayed in the preview toolbar, from which you can choose the desired target page. The change is performed automatically.
This function is activated respectively deactivated via the “Page selection in the survey” drop-down list (until EFS 10.4: Allow direct jumping to any page of the survey) in the Project properties menu on the tab Internal organization. By selecting the appropriate options
disabled
display for all participants
display for testers only
you can define which target groups should be able to use it and where.
Search function
Locating a specific page, question or variable in a complex questionnaire without sear- ching the codebook can be a tedious and time-consuming task. If you frequently face such a task, combine the following features:
A search field is displayed on the right hand just above the questionnaire view, allowing you to search the contents of the questionnaire view.
Click on the Show questions and Show all icons.
When you now enter a question or variable as the search term, the page and question containing that variable will be identified.
The “ID” column lists the unique identifiers of pages (“pgid”) and question containers (“coid”). The identifiers are covered by the search feature, too.