A class is a named collection of tags that can be referenced and reused across questions and variables in a survey.
set class: std_checkbox
type: checkbox
instructions: [Please select all that apply.]
1. Which of the following have you done in the last 6 months?
class: std_checkbox
randomize: y
1. Purchased clothing
2. Gone to a movie theatre
3. Purchased office supplies
4. Purchased food from a restaurant
5. Gone to a sporting event
6. Purchased consumer electronics
7. Gone deep sea fishing
99. None of these {exclusive: y}
Details
- Two types of classes are available for your survey: system classes and survey-specific classes. The example above is survey-specific. System classes are created exclusively by IntelliSurvey administrators.
- To create a class, use the
set classwidget followed by a unique class name. All tags listed afterset class(until the next blank line) become part of the class. - To apply a class to a question or variable, use the
classtag with the class name as the input. The widget will then inherit all tags and properties from the class. - Class properties (tags) can be overridden by reapplying the same tag locally to a question where the class is used.
System classes
IntelliSurvey offers a few system classes for common question formats. These are pre-configured at the server level and do not need to be defined locally in the survey code. These classes can also be applied using IntelliBuilder.
std_radio_question
The std_radio_question class creates a radio question with a desc tag and instructions as shown below.
set class: std_radio_question
desc: SINGLE SELECT
type: radio
instructions: Please select one response
std_checkbox_question
The std_checkbox_question class creates a checkbox question with a desc tag and instructions as shown below.
set class: std_checkbox_question
desc: MULTIPLE SELECT
type: checkbox
instructions: Please select all that apply
std_checkbox_exclusive99
The std_checkbox_exclusive99 class creates a checkbox question with a desc tag and instructions as shown below. The inclusion of the exclusive tag ensures that any option numbered '99' cannot be selected with other options.
set class: std_checkbox_exclusive99
desc: MULTIPLE SELECT WITH EXCLUSIVE
instructions: Please select all that apply
type: checkbox
exclusive: 99
checkbox_upto3
The checkbox_upto3 class creates a checkbox question with a desc tag and instructions as shown below. The inclusion of the maxchecked tag ensures that no more than three options can be selected.
set class: checkbox_upto3
desc: SELECT UP TO 3
type: checkbox
instructions: Please select up to 3
maxchecked: 3
add_to_100_percent
The add_to_100_percent class creates an "add-to-100%" table. It ensures rows can be skipped as long as the total equals 100.
set class: add_to_100_percent
desc: ADD TO 100% TABLE
required: n
type: number table
datatype: whole
range: 0-100
postfix: %
sct: Total: {total: 100} {message: Please ensure your total equals 100%.}
add_to_100_percent_ifblank0
The add_to_100_percent_ifblank0 class creates an "add-to-100%" table. It ensures rows can be skipped as long as the total equals 100. Unanswered rows are automatically coded as '0' with the if blank tag.
set class: add_to_100_percent_ifblank0
desc: ADD TO 100% TABLE; ASSIGN 0 TO UNANSWERED ROWS
required: n
type: number table
datatype: whole
range: 0-100
size: 4
maxlen: 3
if blank: 0
postfix: %
sct: Total: {total: 100} {message: Please ensure your total equals 100%.}
add_to_100_percent_ifnotset0
The add_to_100_percent_ifnotset0 class creates an "add-to-100%" table. It ensures rows can be skipped as long as the total equals 100. Unseen and unanswered rows are automatically coded as '0' with the if not set tag.
set class: add_to_100_percent_ifnotset0
desc: ADD TO 100% TABLE; ASSIGN 0 TO UNSEEN AND UNANSWERED ROWS
required: n
type: number table
datatype: whole
range: 0-100
size: 4
maxlen: 3
if not set: 0
postfix: %
sct: Total: {total: 100} {message: Please ensure your total equals 100%.}
add_to_100_points
The add_to_100_points class creates an "add-to-100" table. It ensures rows can be skipped as long as the total equals 100.
set class: add_to_100_points
desc: ADD TO 100 POINTS TABLE
required: n
type: number table
datatype: whole
range: 0-100
size: 4
maxlen: 3
postfix: points
sct: Total: {total: 100} {message: Please ensure your total equals 100 points.}
add_to_100_points_ifblank0
The add_to_100_points_ifblank0 class creates an "add-to-100" table. It ensures rows can be skipped as long as the total equals 100. Unanswered rows are automatically coded as '0' with the if blank tag.
set class: add_to_100_points_ifblank0
desc: ADD TO 100 POINTS TABLE; ASSIGN 0 TO UNANSWERED ROWS
required: n
type: number table
datatype: whole
range: 0-100
size: 4
maxlen: 3
if blank: 0
postfix: points
sct: Total: {total: 100} {message: Please ensure your total equals 100 points.}
add_to_100_points_ifnotset0
The add_to_100_points_ifnotset0 class creates an "add-to-100" table. It ensures rows can be skipped as long as the total equals 100. Unseen and unanswered rows are automatically coded as '0' with the if not set tag.
set class: add_to_100_points_ifnotset0
desc: ADD TO 100 POINTS TABLE; ASSIGN 0 TO UNSEEN AND UNANSWERED ROWS
required: n
type: number table
datatype: whole
range: 0-100
size: 4
maxlen: 3
if not set: 0
postfix: points
sct: Total: {total: 100} {message: Please ensure your total equals 100 points.}
nps
The nps class creates a Net Promoter Score (NPS) rating scale with predefined headers and metrics for reporting. It uses the metric tag to categorize respondents as "Detractors," "Neutrals," and "Promoters" and assigns scores based on their group.
set class: nps
desc: NPS (+ METRICS)
hscale: y
type: radio
headings: Not at all likely, Extremely likely
series: 0..10
metric: nets {args: 0,1,2,3,4,5,6} {desc: Detractors (0-6)}
metric: nets {args: 7,8} {desc: Neutrals (7,8)}
metric: nets {args: 9,10} {desc: Promoters (9,10)}
metric: transformed_average {args: 0-6== -100; 7,8==0; 9,10==100} {desc: NPS}
nps_embeddedanchors
This class is similar to nps, but adds embedded headings, placing the heading text directly on the answer options '0' and '10'. It uses the series tag to provide the remaining options 1 - 9.
set class: nps_embeddedanchors
desc: NPS WITH EMBEDDED ANCHORS (+ METRICS)
hscale: y
type: radio
0. 0 - Not at all likely
series: 1..9
10. 10 - Extremely likely
metric: nets {args: 0,1,2,3,4,5,6} {desc: Detractors (0-6)}
metric: nets {args: 7,8} {desc: Neutrals (7,8)}
metric: nets {args: 9,10} {desc: Promoters (9,10)}
metric: transformed_average {args: 0-6== -100; 7,8==0; 9,10==100} {desc: NPS}
nps_table
This class is identical to nps, but is used for creating a radio table instead of a question.
set class: nps_table
desc: NPS TABLE (+ METRICS)
type: radio table
headings: Not at all likely, Extremely likely
series: 0..10
metric: nets {args: 0,1,2,3,4,5,6} {desc: Detractors (0-6)}
metric: nets {args: 7,8} {desc: Neutrals (7,8)}
metric: nets {args: 9,10} {desc: Promoters (9,10)}
metric: transformed_average {args: 0-6== -100; 7,8==0; 9,10==100} {desc: NPS}
Comments
0 comments
Please sign in to leave a comment.