Is it possible to have different questions assigned to a long list of conditions?

Hi everyone,

I need to code the form to show a specific question B (among three different questions B, C, D) conditional to many choices in the previous question A.

So, an initial question A has maybe 120 different choices, and then I want a particular question B to show only for some of them (e.g. 60 of the choices) - and similarly for the other two questions C and D - so each question B, C, D is associated to a particular list of choices from question A.

I typically do this using validation criteria. I create the 3 different questions B, C, D and code them to only show if particular choices have been selected in A. The issue here is that the list of choices is very long, which means that the validation criteria would need to have 60 conditions. I am wondering if there is any other easier/smarter way to do this?

Thank you very much.

Hi @Violetafernandezm,

Do you think Adding Cascading Select Questions — KoboToolbox documentation might help?

1 Like

thanks @Violetafernandezm @hakan_cetinkaya ,
I created a form that I think will work, We have 100 options for example. We can select choices to show a specific question
if select choices: 1 … 20 => show B
if select choices: 25 and 26 => show C
if select choices: 97,98 and 99 => show D
We can edit easily.

multiConditionsTest.xlsx (12.5 KB)

choice.csv (715 Bytes)

1 Like

Thank you for your suggestion @MohammedTaleb and for taking the time to prepare this. I had thought of this option as a back up since it’s simpler.

The issue is that the values of the previous choices are not assigned to the subsequent questions in numerical order. They are in fact individual IDs, for which each is assigned one of the three following questions. It would prefer to keep the ind ID as they are to simplify the data received later on. So I was wondering if there was any other way to create these conditions - similarly to what is done with cascading choices but for questions instead.

Here is an example of what the conditions would actually look like with the current IDs is :
Question B shows if question A = 1 or = 30 or =64 … up to 100 times
Question C shows if question A=2 or =20 or = 95 … up to 100 times
same for question D

If something like this cannot be done, then I will need to change the ind IDs to be linked to the subsequent questions in numerical order, and do as you propose.

Thank you!

thanks @Violetafernandezm ,
The working principle is based on the number and weight of options
count , weight
The options are not necessarily in order
If we have an operation “and” To a large number of options, We can use the previous method
Knowing that we can use several files “csv” , Instead of one file
csv file for each question,
As for your suggestion, we can use the formula as in the attached picture

100 - 64 = 36 options => count=36 , weight = 36 or any appropriate weight

Within csv file, we put 0 for each option that is not required

There may be simpler solutions

1 Like

Thank you @MohammedTaleb
I see now! It works with the selection, not with the range of numbers. . I will try it and see if it works. Thank you very much again!

1 Like