Version Notice: This article covers features debuted in our r9/IS Pro platform.
Surveys always contain a number of variables that help clients analyze the data. Starting in r9.1, IntelliSurvey offers a new approach to creating and organizing variables that are intended for reporting-only purposes. We call these "reporting-only" or "reporting" variables.
Unlike traditional approaches that use survey resources to store data at the time of respondent interaction, reporting-only variables employ a dynamic, real-time data retrieval mechanism, harnessing the software's system resources to continuously display the latest data. The system's resources drive the dynamic presentation of information, offering a continuously updated user experience and a seamless respondent survey experience.
Simply place the reporting only
tag on coded variables to use this new approach. You can also include the optional report placement
tag to change the variable's location in the reporting field tree, which is helpful when these variables are added after the survey has collected data.
Syntax
The reporting only
tag can only be used with coded variables — type: coded single select
, type: coded multiple select
, and type: coded number
. Add reporting only: y
to a coded variable and attach a condition to each option.
When used as a decorator, it can be applied to "punch summary variables" created by the row punch summary
or collection punch summary
tags.
Basic
# with coded single select or multiple select
VARNAME. Reporting description
type: coded single select or coded multiple select
reporting only: y
1. Option 1 {if logical statement}
2. Option 2 {if logical statement}
# with coded number
VARNAME2. Reporting description
type: coded number
reporting_only: y
cvalue: Expression / logical statement
# as a decorator on 'rowpunchsummary' or 'collectionpunchsummary'
rowpunchsummary: QVAR. Variable description {reporting only: y}
With 'report placement'
By default, a reporting-only variable will be placed after the last question used in the condition. That means, the reporting variable will appear after the final question or variable referenced in the "if statement" or cvalue
according to its placement in the source code. However, you can change where the reporting variable appears by adding the report placement
tag directly to the widget. The alias reporting placement
is also valid. The report placement
tag accepts 'before', 'after', and 'here' as input values.
# The value 'before' places QVARNAME immediately before a question or variable.
VARNAME. Reporting description
type: coded single select
reporting only: y
report placement: before QX
1. Option 1 {if logical statement}
2. Option 2 {if logical statement}
# The value 'after' places QVARNAME2 after a question, variable, or reporting variable.
VARNAME2. Reporting description
type: coded number
reporting_only: y
report placement: after QVARNAME
cvalue: value, expression, or logical statement
# The value 'here' places QVARNAME3 exactly where it is in the source code.
VARNAME3. Reporting description
type: coded multiple select
reportingonly: y
reporting placement: here
1. Option 1 {if logical statement}
2. Option 2 {if logical statement}
3. Option 3 {if logical statement}
Tip! Although the original intention for the report placement
tag was to help organize the reporting-only variables, it can actually be used on regular questions as well! However, you may not combine the use of any kind of quotas, or chapters defined with the chapter
tag, on the same widget that uses report placement
.
Limitations and other information
Reporting-only variables do not use the survey's resources and are not actually "punching data" at survey runtime. The data is instead being stored at the system level. This means that reporting-only variables do not store data at the survey level and, therefore, cannot be used in logical references. For example, they cannot be used in showif
statements or logic references used for respondent termination (or other similar situations).
Since reporting-only variables are not truly running in a survey when a respondent moves through it, these variables do not respect conditioned groups or showif
logic. They will populate data for a survey's entire data set by default. You can use applyif
to adjust the base counts for the variable if needed.
Here are some additional details worth noting:
- The
reporting only
tag is not intended to be used within loops. They cannot reference "loop" logic. - Reporting-only variables cannot be used in conjunction with
quotas: y
orcbq: y
(derived quotas). - At this time, reporting-only variables cannot use list functions in the conditions being evaluated.
- At this time,
reporting only: y
is not supported as an element decorator. - The
reporting only
tag includestranslate: n
by default and will not be translated.
Examples
Basic
Here is a simple, coded variable with reporting only: y
.
Code | Reporting field tree |
7. How recently have you bought the following types of snacks? |
report placement: after
The following examples use the report placement: after
tag to move the reporting variable from its default placement in the data output to be displayed immediately after the question or variable specified. Note, report placement: after
can also reference another reporting-only variable.
Referencing a question or variable
Continuing with the example above, let's assume there is a quota programmed immediately after table 7. By default, 'QPURCH' would be placed after T7 in the reporting field tree because it references this question in its condition that is being evaluated (as seen in the image above). However, the client wants QPURCH to appear after the quota instead. We can add report placement: after Q7_QTA
to move the reporting variable.
Code | Reporting field tree |
PURCH. Tracking snack bar purchasers |
Referencing a reporting-only variable
Let's continue with the same example. We can imagine that the client would like to group all similar variables together and would like QCATEGORY_ELIGIBLE to be placed immediately after QPURCH, instead of after Q11. Reminder, Q11 would be the default location because it is the last question in the source code that is referenced in the options' conditions. You can use report placement: after
to reference another reporting variable, as seen below.
Code | Reporting field tree |
CATEGORY_ELIGIBLE. Categories eligible |
Multiple references to the same question
If you have multiple reporting-only variables referencing the same survey question, the reporting variables will be organized and shown in the same order as they are programmed in the survey source code. In the reporting field tree for this example, Q7_QTA will be first, immediately followed by QPURCH, and finally QANOTHERVAR.
Code | Reporting field tree |
7_QTA. Quota for P3M |
report placement: before
Using the 'before' input behaves very similar to 'after'; it tells the software to place the reporting-only variable directly before the mentioned question or variable. Note, report placement: before
cannot reference a reporting-only variable.
Referencing a question or variable
The example below places the variable before table 7 instead of after it.
Code | Reporting field tree |
ANOTHERVAR. Tracking snack bar purchasers |
Multiple references to the same question
Unlike report placement: after
, if you have multiple reporting-only variables referencing the same survey question, report placement: before
will display the variables in reverse order.
In the reporting field tree for this example, Q7_QTA will be first, immediately followed by QANOTHERVAR, followed by QPURCH, and finally by the table T7. Also notice, we are using report placement on a type: quotas
below, which is acceptable.
Code | Reporting field tree |
PURCH. Tracking snack bar purchasers |
Combining 'after' and 'before'
Let's suppose your client wants all of the variables listed in the example above before T7, but also wants them in the order as they are programmed in the source code. You can solve this by anchoring the first reporting variable with 'before', and then use 'after' for each subsequent reporting variable. See below for an example.
Code | Reporting field tree |
PURCH. Tracking snack bar purchasers |
report placement: here
Every so often the need arises to specify in a straightforward way, "put the variable here." The 'here' input provides this ability and precision.
Code | Reporting field tree |
100. Yes or no at Q11 |
Referencing a table
In the example below, we want to move all the reporting variables to be after Q4, instead each variable appearing after its respective table row field. When referencing a table widget with report placement
, use a leading 'T' instead of a leading 'Q'.
Code | Reporting field tree |
set list: BRANDS |
Comments
0 comments
Please sign in to leave a comment.