Creating a form with cascading select, from a list in an external csv file

Hi everyone,
This is my first post here, I have been reading a lot of posts so far and recognize the efforts taken by the community to support one another.
As a result of the lockdown enforced because of COVID-19, in India agro supply chains are disrupted and livelihoods are lost. As a COVID response, a state government is looking to map commodities farmed by thousands of women across the state, and help them sell their commodities.

For this a cascading select from district to village is essential. However as the number of villages are around 10,000, I have read that referencing lists from external pre-loaded csv files would prevent long loading times for the form, and have followed the process documented by Micheal in (https://support.kobotoolbox.org/en/articles/2981929-select-one-or-many-from-external-file-question-type)

I have also followed the process to create cascading choices as described by Tino (https://support.kobotoolbox.org/en/articles/592422-adding-cascading-select-questions) and placed it in a csv file called district_village_mapping.csv

However, I get the error after deploying the form and loading the csv file : Error creating row: [Error: type select_one_from_file not found]

This is my survey sheet:

My choices sheet have:
First row as (list name, name, label)
Second row as (district, name, label)
Third row as (cmrc, name, label)
Fourth row as (village, name, label)

Could someone please have a look?Help required urgently, as we require this to be deployed as soon as possible
Also I was not able to upload more than one image, as I am a new user. Sorry about this!

Thanks and regards,
Varun

Hi @Varun

I’ve been working on a similar problem for some of our projects too and managed to crack it a week or two ago. I’ve attached the very basics here of what I was using to combine cascading selects to filter a search from an external CSV.

I’m not 100% sure it will solve your issue, but it might give you some ideas of how it could work.

Major downside is that it ONLY seems to work in Enketo (web forms) for now, but there might be a way to make it work using ODK app. I haven’t been able to test that out yet. Other minor issues is that it doesn’t work with ‘preview’ version of the form and you can’t use the KoBo ‘Reports’ function either - you have to do a ‘Legacy’ version export of the data or pull it into some other data viz software.

Hope this is of some help to you and others looking at this issue in challenging circumstances!

Chris

EXAMPLE - Selects with Choice Filter Search with from_file.xlsx (41.2 KB) id_names.csv (8.8 KB)

4 Likes

Hi @Varun,

Welcome to the community!

Hi @LCDI,

Welcome to the community! Thank you for the wonderful response which should help the entire community! Expecting the same in the upcoming days as well!

Have a great day!

@LCDI have you had any luck getting this to work on the app? I’m having the same issue where it works on enketo but not on Collect. Thank you!

@SNB, do you mean the select_one_from_file question type works with Enekto but not with Collect? Kindly please be informed that the Collect android app should also support select_one_from_file question types. Try using the latest versions of the Collect android app to get this working.

Hi @Kal_Lam , I meant setting up choice_filter in an external csv that’s getting pulled into my main survey.

@SNB, what is the question type you are using for this?