The following article contains information on various survey elements and features Survey Creators (SCs) commonly use in IntelliBuilder-built surveys that do not fit the steps outlined in Creating survey elements with IntelliBuilder. The features and elements covered here require the usage of condition logic, either as a property (question-level directives) or as an attribute (option-level directives).
For information on other element types and properties that do not use condition logic, see Additional survey elements and features for IntelliBuilder.
Users should note that some of the topics included here will require Advanced Mode programming rights. For additional information on User Modes, see Getting started with IntelliBuilder. New users should also review the Survey elements overview for IntelliBuilder article for information on survey element types, properties, and attributes.
Simple conditions
IntelliBuilder allows SCs to create conditions that dictate whether survey elements are displayed to respondents. Conditions can be applied at an option level via the Condition attribute, or at the element level via the Show If property. Whether a condition is applied at the option level or element level, the steps to create these are more or less the same.
In this section, we will cover simple conditions. For additional information on compound conditions, see below.
Element level conditions
Element level conditions are created via the Show If property and dictate when to display an element, or set of elements in the case of a Group, to a respondent. Show If conditions are defined based on previous respondent selections and can be created from most question types.
Tip! At this time, open-end text questions (including numeric questions) cannot be used to create Show If conditions in IntelliBuilder. If a condition is required based off of an open-ended question, leave a comment on the element so that a PM may define the condition in the survey source.
When the Show If property is added to an element, the Show If Logic modal will appear, prompting the user to build the condition. Basic users will only be able to create a single condition, whereas Advanced and Expert users will be able to create compound conditions and groups via the Add Condition and Add Group buttons, respectively.
To define the condition, first choose a question from the Select Question pulldown menu. SCs should note that individual table rows can be selected as questions and will be listed as (e.g.) "Q3R2", meaning the 2nd row of Q3.
Next choose the operation to use from the Select Operation menu. Operation options may vary based on the question type selected.
Once the operation is selected, a menu of options will be available for that particular question. Multiple options may be selected here for most operations, and SCs can elect to check the Select All checkbox if need be. Once the necessary option(s) have been selected, the Algebraic Expression (the SPL equivalent of the logic) will be shown below the logic definition. Users should note that the Select All checkbox may not be available for some operations.
Once the condition is defined as needed, click Apply.
The completed Show If logic will be displayed in the Element Editor similar to its Algebraic Expression (left). If the condition requires altering, simply click the wand icon to the left of the Show If property, and the condition can be edited in the Show If Logic modal. Once the element is saved, the condition will be shown in Builder view in a non-SPL format that is easier for non-Expert users to understand (right).
Option level conditions
Option level condition logic is created via the Condition attribute and must be added individually to each option that requires one. Adding a Condition attribute will pull up the Condition Logic modal.
The Condition Logic modal looks and functions just like the Show If Logic modal and requires the user to select a question, operation, and option(s) for which the option should be shown. Like the Show If Logic modal, Basic users will not have the ability to create compound conditions or groups.
Once the condition logic is defined and the question/element is saved, the option will display a Condition directive after its text, with the logic included. Unlike the Show If property, the logic of the condition will not be shown in the Element Editor.
Compound conditions
Advanced and Expert users have the ability to create compound logical statements in the Show If Logic and Condition Logic modals. The steps work the same for each modal; for the purposes of this explanation, we will use the Show If Logic modal.
Suppose we have the following two questions related to age (QD2) and usage of streaming services (Q2), and we want to create logic based off them for a question related to shows someone might watch on Disney+. In this scenario, we only want to show the question to someone who is under the age of 35 (options 1-3 on QD2) and uses Disney+ streaming service (option 6 in Q2) as shown in Q3 above. To do this, we will need to create a compound Show If condition.
To create the compound condition, we will define two different conditions in a single Show If. Order of these conditions is not important, but we will define them based on the order of the questions they are dependent on. First, let's define the condition for QD2's selections. In this case, we want to select the Is One Of operator since any one of options 1 - 3 will be accepted for the condition.
After selecting the options that are allowed for QD2, click Add Condition.
To add the 2nd condition, first select either And (Meets ALL) or Or (Meets ANY) to define the relationship of the two conditions. In this case we want And since the respondent must meet both conditions, not just one of the two.
Next, define the second condition. Here we will again select Is One Of since the respondent may have selected multiple options, but we are concerned only with option 6 (Disney+). Note that the Algebraic Expression will now reflect the combination of these two conditions. After verifying the expression, click Apply.
Caution! SCs should use caution when creating compound conditional statements with more than two conditions. If you are unsure whether a complex conditional statement has been created correctly, contact a PM or Support for assistance.
The full Show If logic expression will be listed under the question text after it is applied, similarly to how it appears in SPL. A non-SPL version of the condition directive will be shown in the Builder view version of the finished element.
Groups
Groups are sub-sections of a survey that can optionally be conditioned to be displayed only when specific selections or responses are provided, shown to all respondents, or hidden. Groups can include sub-groups within them, known as nested groups, but a group cannot overlap with other groups. IntelliBuilder indicates groups as GROUP: GROUPNAME [ END AFTER: QID ] followed by the Show If property's input (either Always, Never, or a conditional logic statement). The questions included in that group are indented and will have a colored bar to the far left indicating which groups they belong to as shown below. Each group will be assigned a different color to help differentiate them.
To the left of the Group element is an expand/collapse button that, when clicked, will collapse the full group. To expand the group, click the button a second time.
Creating a group
SCs will first need to create the questions that will be contained in the group, then they may add the group after. While adding the group to the survey, it must be dragged to its proper starting point so that its start and end points can be defined. Once in its proper starting location, SCs will define the Group Name, end point (which element to end before or after), and which respondents it will be shown to. By default the Show Group to Everyone property is added, but this can be altered in the Properties menu to either Never Show Group (for hidden groups) or to include a condition via the Show If property.
SCs should note that group names should be alphanumeric, and can include underscores or spaces; capitalization is not required.
Note: Though permitted, unlabeled groups are not considered best practice.
In r8.1+, if a group is created without a label, Survey Programmers (SPs) will see the following caution message upon parsing their survey: "Please name this group, so it will work better in IntelliBuilder."
Clicking in the End Group field brings up the End Group Border Selector modal. Users can select whether to end the group before or after a particular element, then select the element the group will end before or after. Click Apply to finish defining the End Group condition.
After defining the end point of the group, SCs can edit the Show If as needed. Once saved, all elements included in the group, and the Group element itself, will be color coded to indicate they belong to the same group.
Loops
A loop is a group of questions that is repeated, or "looped", for a series of options. Loops require a set of options to be iterated across; the options can either come from a setlist, an inline list of options from a previous question, or a spreadsheet. Loops can be conditioned so that only previously selected options are used for the iterations, or for SCs to specify that certain list options be included or excluded.
Creating loops
Loops are created from groups via the Loop property, so the steps to create a loop are very similar. To create a loop, first make sure the list for which the group of questions will be repeated has been created. After the questions that will be within the loop have been created, create a group for those questions. While defining the group, add the Loop property to it. This will bring up the Loop for Editor modal.
The Loop for Editor works just like the Opts From Editor, allowing SCs to select from Local Lists, previously created questions, or spreadsheets. After selecting the list source, either click Apply with All Options to use the full set of options, or Select Options to define a subset of options or condition for which the option set should be defined.
After defining the list options that will be used in the loop, make sure to define the group's end point, and alter the Show If condition as needed. Once completed, the looped group will be color coded like other groups, but the Group element will contain the LOOP FOR property, listed with the Show If condition as shown below.
Referencing loop options
Questions and tables within loops can use placeholders in order to pipe the text and IDs of the options from the list used to define the loop. Since the group's elements must be defined before the loop itself is created, IntelliBuilder allows SCs to save elements that use these placeholders without first defining the loop.
To add a placeholder for an option's text, use the ~text~ placeholder; to reference the option's ID, use the ~id~ placeholder. SCs should note that these placeholders are not case-sensitive and can be in all caps as well.
Option text and option ID placeholders may be included both in question text and within the option text of a survey element as shown above. Some properties such as Instructions, Explain, or Decline to Answer will also accept these references. Testers may then verify the placeholders are working by using the various Test menu options to run through the survey.
Quotas
IntelliBuilder allows users the ability to create both quotas and click balance quotas. Click balance quotas (a.k.a., CBQs) are quotas that are derived from the number of "clicks" (incoming respondents) instead of the number of completes in a survey.
Both types of quotas can be created in one of two ways – either by adding the Quota or Click Balance Quota property to a displayed/respondent-facing question, which uses the existing options to create the quota groups, or by using the Quota element to create a standalone/hidden quota variable whose quota groups are based on selections from a previous question (or multiple questions).
If need be, a single question can include both the Quota and Click Balance Quota properties.
For additional information on creating quotas in general, see Quota creation. For additional information on click balance quotas, see Click balance quotas.
Basic quotas from displayed questions
If the options in a Single Select, Multi Select, or Drop Down question will match the buckets/options needed in a quota, SCs will not need to create a separate quota variable and can instead just add the Quota and/or Click Balance Quota properties to the question. This will create a derived quota variable from the question that can be used in the reporting applets. The derived quota variable will be named as QX_QUOTA for regular quotas, where "X" is the original question's ID, and QX_CBQ for click balance quotas. Each option in the parent question (in this case, QD1) will be used as a quota bucket for the derived quota or CBQ (in this case, QD1_QUOTA).
Quota properties will be shown in Builder view as [QUOTAS: Y], whereas Click Balance Quotas will be shown as [CLICK BALANCE QUOTA: Y].
Note: If the Terminate attribute is applied to an option in a question that includes either the Quota or Click Balance Quota properties, that option will automatically be excluded from the quota buckets generated from the question.
Hidden quotas
Hidden quotas are non-respondent facing variables that derive their options from a previous question's (or multiple questions') responses. Often times quotas are created in this fashion if the quota groups do not match actual options from previous questions, possibly due to multiple options from a question qualifying for a single quota bucket/group, or using quota groups created from two or more question's selections. These quotas are created by selecting the Quota option in the Add Element modal.
At this time, both Quotas and CBQs can be created from Single Select, Multi Select, or Drop Down questions. If a Quota or CBQ is needed based on other question types, such as a numeric entry question, it will need to be created via SPL Input by Expert users. To create a CBQ instead of a Quota, simply check the Click Balance Quota checkbox.
Both Quotas and CBQs default to assigning respondents to the quota groups by condition (the equivalent of Select By - Condition). As such, each option in the quota or CBQ will require a Condition attribute to be added to them. SCs can switch the selection type by choosing the Select By property, then choosing either Counts or Random. The Select By property can be used with other selection methods such as weights, but those must be added via SPL.
If need be, quota bucket options can be referenced from other questions or lists via the Options From property. The Max Groups property may also be added as needed. This property specifies the maximum number of quota groups that a respondent may be assigned to, provided that the respondent meets qualifying condition criteria and that the quota bucket is not full. When Max Groups is added to the quota definition, the quota becomes a multi-select question, where each quota bucket has its own data location.
Comments
0 comments
Please sign in to leave a comment.