Response lists of answers chosen at a previous question
You can create response lists that show only answers chosen at a previous question. This is common in brand or product studies where you ask respondents which brands or products they can name and then you want to ask which of those brands or products they use. If you restrict the response list to only the brands or products known, you automatically ensure that there will be no brands or products that are used but not known. This cuts down on the amount of data cleaning work required before the survey results can be analyzed.
When you want to apply this sort of filtering, the first step is to define the two questions in the metadata section with the same response list. A shared list is the easiest way to do this, but you can type the full response lists separately if you prefer. Then, in the routing section, before you ask the second question, filter its response list so that only the answers chosen at the first question are displayed.
Syntax
Name.Categories.Filter = PrevQname
Parameters
Name
The name of the question whose response list is being set up.
PrevQname
The name of the question whose answers will appear in that response list. (This is a shorthand way of writing PrevQname.Response.Value, which the interviewing program converts to {answers to PrevQname}.)
Example
Here’s an example. The metadata section is:
BrandList define
{
Alpine, Finborough, Alsace,
DairyFresh "Dairy Fresh",
CountryFayre "Country Fayre"
};
OrganicBrandList define
{
HelenBradley "Helen Bradley's",
KentishFarm "Kentish Farm",
NaturesWay "Nature's Way Organic",
SimpleOrganix "Simple Organix"
};
Unaided "Which brands of yogurt can you name?" categorical [1..]
{
use BrandList,
use OrganicBrandList,
OtherUnaided "Other" Other fix,
NoneUnaided "None" excl fix
} asc;
Buy "And of those brands, which ones do you buy?" categorical [1..]
{
use BrandList,
use OrganicBrandList,
BuyNone "None of them" excl fix
} asc;
The routing section is:
Unaided.Ask()Buy.Categories.Filter = Unaided.Response.Value Buy.Ask()
See also