# Multiple choice matrix with filter

–1 vote

I'd like to have a multiple-choice-matrix question with 6 items and 6 options.
If an individual chooses the same option for all 6 items I'd like to have a filter that ends the survey. Is that possible?

by s109993 (11.3k points)

sure:

``````if (value('AB01_01') == 1) {   // here you have to list all your conditions
goToPage('end');
}
``````

That should be put in an php-Code window on the page after your multiple-choice-matrix. You can read about it here: https://www.soscisurvey.de/help/doku.php/en:create:functions:gotopage

by SoSci Survey (318k points)

If you have a multiple-choice-matrix, be sure that you don't want a scale. In such a matrix more then one option can be checked for each item.

To check for the same pattern in each line is a bite more complex than checking for the "same answer" in a scale question.

In a scale question, the easiest way is to check the standard deviation:

``````if (valueSD('SC01') == 0) {
text('bye');
buttonHide();
pageStop();
}
``````
by s266783 (105 points)
Thank you!! I want a scale, i changed it already. Can you please explain it a bit more detailed? Where can i add the value, change the deviation? I'm giving my best but i am new to this
by SoSci Survey (318k points)

Do not change the question type, if you already have data. Otherwise, you will only see the number of options checked for all the "old" data. You can switch back later, but you still will have to merge your datasets.

> Can you please explain it a bit more detailed?

If you have a multiple choice matrix, this allows people to check one or more options. Each option is 1/2-encoded with 1=not checked, and 2=checked. This means that you need one variable for each response option. If the options 1 and 3 are checked, the result would be

[2] 2 1 2 1 1

The leading [2] is the number of options checked, because SoSci Survey will add this information. And then 2 for "option 1 checked", 1 for "option 2 not checked" and so on.

This makes sense for some research designs, but not if you want a likert-like scale.

> Where can i add the value, change the deviation?

The part with the standard deviation was about your question how to identify straightliners. So, if you have a scale, the data for option 3 checked would simple be

3

and if you have 5 items, and each time the option 3 is checked, you have this:

3 3 3 3 3

So, the standard deviation of a straight line is always 0. And this is ehy you can easily identify straightlined scales with valueSD(). Nothing to change, just a little PHP code on the next page of your questionnaire.
by s266783 (105 points)
I think i wasnt very clear.. i do not have data and i am still programming the survey. i changed the question to a scale and want to kick out the people that choose the same answer 5 times. for my example it is about if people drink different spirits. if they always choose the option 'never' they are not qualifying for the survey. is it possible to have a filter in the scale that will give me the option to remove them?
by SoSci Survey (318k points)
>  is it possible to have a filter in the scale that will give me the option to remove them?

Yes, that was the one I suggestes above:

if (valueSD('SC01') == 0) {
text('bye');
buttonHide();
pageStop();
}

Replace SC01 by the ID of your scale, and place it on a page after the scale question. And, of course, create a text to show the people, and replace the 'bye' by this text's ID.
by s266783 (105 points)
Yes i can see that it was already suggested above, but my question is: where i can add/change that? Under 'Items', 'detail settings' ( Scale, variables...) ? I cant find it
by SoSci Survey (318k points)
You have to add this as PHP code in the questionnaire:
https://www.soscisurvey.de/help/doku.php/en:create:php