Filter values from repeat to show eligible roster

From the begin repeat I got Suppose
A's age is 33
B's age is 29 ,
C's age is 3
D's age is 2.

Now another question is outside the repeat.
Select A, B, C,D but need to filter whose age is less than 18 .
How can i filter the age of from rooster and display who are eligible (above 18)

I was able to show to the Name A B C D from rooster and able to select one. But i Couldn't filter the name above 18 from rooster.AUTO.xls (28.5 KB)

Could you attach your form? It's always easier to understand a problem and help then.

1 Like

I had attached the XLS file. Please do have a look .

Thank you

Any solution for above problem ?

Hey Dnes,

What you need is a choice_filter. I tried the following in your form and it worked for me: indexed-repeat(${age}, ${member_info}, name) >= 18

Please find attached. I took your file, added that, and called it "v2". It was able to convert fine. However, some additional things were necessary before I could put it on ODK Aggregate (I'm assuming you are using SurveyCTO or something else). The ODK Aggregate-friendly version is "v3". (21.7 KB)

Also, I encountered some issues with both Enketo and XLSForm Offline when using your form. I've filed issues in the respective GH repos.


Thank you Joseph for the solution and helping me out . It works fine with me in ODK collect.

Yes, I had also encountered same issue with both Enketo and XLSForm Offline when using form. And i am not using SurveyCTO. I am using the ODK collect for the survey. When i use the form in the ODK COllect its working fine.


Ah, OK. When I saw "id_string" in your settings and "version", I figured maybe you were using SurveyCTO. Maybe KoBo Toolbox then? It looks like the "version" is automatically generated.

Glad it worked!

I am using ODK Collect Joseph. Yes, it was automatically generated.I was working on colleague file. Your help was much more appreciate. In coming days, hope we can help each other.

Take care,