Caution! It is highly recommended to use rollup: n
instead of freeform: y
. For more information, see the rollup: n
section in the Blocks article.
The most common use case for blocks is to program a question or set of questions which repeat multiple times in a "loop." To accommodate this, blocks by default work with the implicit assumption that each iteration has relevance to other iterations, that questions and variables in a given block loop are linked to all other iterations of those questions and variables. The main reason for this is so each question/variable can display in the reporting interface in a single summary (or "rollup") tile. This allows data collected in blocks to be interpreted more easily. Being able to report on blocks in this fashion requires that each question shares certain characteristics with other iterations of that question, such as question type and response options.
Some block applications do not lend themselves to being reported on in a summary tile. This might be because different iterations of a given question are of a different type, or have different options. To program blocks with these types of advanced substitutions, use the freeform
tag. This signals to the software that the variables and questions within the block should not share a summary tile in reporting. Without the freeform
tag, blocks of this nature will not parse.
Syntax
block: <<END # Content Here END list: LISTNAME_HERE freeform: y
Example
In the following example, each iteration of each question has its own unique tile in Topline Reports. The questions created by this block cannot be reported on in aggregate in the summary tile because they are created with two different type
tags (type: radio
and type: checkbox
) and because the set of list options IDs are not identical between both lists.
Comments
0 comments
Please sign in to leave a comment.