Working with multiple-response data

You can analyze multiple-response data using a number of comparison functions.

Available comparison functions include:

  • value_at
  • first_index / last_index
  • first_non_null / last_non_null
  • first_non_null_index / last_non_null_index
  • min_index / max_index

For example, suppose a multiple-response question asked for the first, second, and third most important reasons for deciding on a particular purchase (for example, price, personal recommendation, review, local supplier, other). In this case, you might determine the importance of price by deriving the index of the field in which it was first included:

first_index("price", [Reason1 Reason2 Reason3])

Similarly, suppose you asked customers to rank three cars in order of likelihood to purchase and coded the responses in three separate fields, as follows:

Table 1. Car ranking example
customer id car1 car2 car3
101 1 3 2
102 3 2 1
103 2 3 1

In this case, you could determine the index of the field for the car they like most (ranked #1, or the lowest rank) using the min_index function:

min_index(['car1' 'car2' 'car3'])

See Comparison functions for more information.

Referencing multiple-response sets

The special @MULTI_RESPONSE_SET function can be used to reference all of the fields in a multiple-response set. For example, if the three car fields in the previous example are included in a multiple-response set named car_rankings, the following would return the same result:

max_index(@MULTI_RESPONSE_SET("car_rankings"))