Update: I downloaded the data (XML values and headers) and the XLS form from Kobo. After downloading, I removed the second language label column and only kept 1 label column in my XLS form (“label”). After that I ran the kobo2stata command and it’s working fine for me now.
I suppose the error is due to the second language.
Glad everything worked well in the end.
Kobo2stata is capable of handling xlsforms with multiple languages. That is exactly what the (optional) surveylabel and choiceslabel are there for. If your xlsform contains only one label column, you don’t need them at all. If you have multiple languages, you can tell kobo2stata which one to focus on. For example (and as specified in the help file): surveylabel(“Label::English”) choiceslabel(“Label::English”)
It looks like on the choices tab of your xlsform, you have one or several value sets that are very long - exceeding 1600 values? If you remove this value set (or at least the 17 rows in excess of 1600) before running kobo2stata, it should run through.
I did what you suggested and it worked!
I would love in the future that the command could run more than 1600 options in choices, in some occasions I have worked with very long surveys, it would be fabulous.
Do you think this would be possible in the future?
Glad to hear it worked.
Just to be clear, kobo2stata can handle a choices tab with more than 1600 rows - it is only when a single value set in the choices tab contains more than 1600 values that the error occurs.
This 1600 values limit is not so much a limitation of kobo2stata but rather of Stata itself (to be more precise, of Stata’s “numlist” function which kobo2stata depends on). A workaround would be to depend on Stata’s “forvalues” instead, but it would require a major rewrite of kobo2stata, which I’m afraid I won’t have the time for at the moment. In any case, I will make this limitation explicit in the help file when I next update it, to make sure users know how to solve the issue where it occurs.
oh! It is good to know. But maybe I forgot something at the moment to run the code because in my case the code I did not have single values set in the choices tab contains more than 1600 values, the maximum was 1100, so I decided to count the number that the code gives in num_list and was the same in total values set in the choices tab, the num_list gove me 1617 numbers and I the time to count the total values on the sheet in choices was the same (sum all single value sets). Maybe, Am I missing something when I run the code?
Unfortunately kobo2stata will only run on Stata 14 or newer, as it relies on some core Stata functions that were only introduced in that version. FYI some discussion around this here: Introducing kobo2stata (new on SSC)
Thank you the information. Is there any other way I could pull the data from Kobo to Stata? I tried using ODK Briefcase, downloading csv files, but once converted to a dta file, it looks quite messy and would need a lot work to make it clearer…