Novi Survey Home
Generation pipes
Previous Topic  Next Topic 


Generation pipes are used to generate question sub-elements from the answers provided to one or more prior question. The following question sub-elements can be created through generation pipes:

One common use of generation pipes is for managing a list reduction work flow. In a list reduction work flow participants are asked to progressively narrow a set of choices. Generation pipes are used in this context  as a means to transfer the options selected in prior question to subsequent questions.

Generation pipes are available for any of the question types supported in Novi Survey. Depending on the type of question at the source of a generation pipe (e.g., multiple choice versus a matrix question), the text used by the pipe to label the generated sub-element will vary. In general, if the source question has discrete choices (e.g., multiple choice or matrix or check boxes), then the text transferred by the pipe to the sub-element will be based on the text for the option. For matrices with discrete choices, the pipe will transfer a combination of the names of row and column for each option selected. For questions that solicit a typed response (e.g., open ended questions or matrices or numbers, dates, or text fields), the text transferred by the pipe will be the data entered by the participant.

There is no restriction on the number of generation pipes defined for a question. For example, in a matrix question, two distinct pipes can be used to generate the rows and columns of the matrix, respectively. Similarly, in a multiple choice question, multiple pipes can be used to create a list of choice that is the union of choices made in several prior questions.

Regular sub-elements are not precluded from question with generation pipes. For example, a multiple choice question can include choices generated by a pipe and choices defined directly in the question in the regular manner.

In general, the question at the source of a generation pipe must be in a page prior to the page with the target question for the pipe.


Consider question: Select your top 3 favorite colors:

with choices (choices selected by participant are marked with 'x')

x red

o yellow

x green

x blue

o violet


Followed by question: Select your most favorite color

with a generation pipe that creates answer in the question, the choices shown for the question will correspond to the choices selected for the question at the source of the pipe. In this example, there will be 3 options provided to the participant: red, green, and blue.




Creating a generation pipe

To create a generation pipe, go the question where the sub-element will be created (i.e., the question that is the target for the pipe) in the page detail screen.

Use the "Generation pipes" tool to get the list of generation pipes for the question.

A generation pipe targets either an answer, a matrix row or a matrix column for a question. The key for the generation pipe must be added to the appropriate field in the question.

The fields that define a generation pipe are as follows:

Use the generation pipe key

Once a generation pipe is created in the 'generation pipes' tab for the question, the pipe key must be used in the text for a sub-element in the question.

For example, if the sub-element to generate (see generate/repeat option in the definition of the pipe) is of type answer, the key for the pipe must be used in the 'Answers' tab for the question. See below for an example.

Text of formatting can be added on either side of the key for the pipe. When the question is shown to participant, this text and formatting will be applied.


Color <strong>[QuestionPipe1]</strong>

entered for an answer will be shown as

Color red

by the pipe, for a piped value of 'red'.

Chaining of pipes

Novi Survey supports the chaining of generation pipes in the following manner:

       pipe              pipe              pipe

Q1 --------> Q2 --------> Q3 --------> Q4 ...

Chained pipes are defined in the same way as any other generation pipes (see above).