Indexed-repeat() function errors

Hi,
I am facing issues with uploading my XLSform. I am receiving the indexed-repeat() error message, but I do not understand the problem here.
Screenshot 2021-11-16 215514

Please can somebody suggest what the issue is and how I can go around solving it?

Thanks!

Hello @yashukalera,
Can you, please, provide the related part of your form here?

2 Likes

Hi @wroos ,
Please see the screenshots for the variables in question.

  1. hh_numbers is a repeat group I have setup to gather data for all members in the household, where the repeat count is based on the number of household members.

  2. q2.5.sex is the variable for sex of the respondent, and this variable is a part of the hh_numbers group.

  3. I am basing q4.7 in a different group (not part of hh_members) conditional upon sex of the respondent.

I am assuming this is causing the error message to pop up, but I am not sure. Hope this makes sense!

Thanks!


Hi @yashukalera
I am recommending the following discussion which should help you go through your issue

Stephane

Hi @yashukalera, there is a chance the issue is related to your question names containing full stops — this is not recommended. Can you try replacing all full stops with underscores: q4.7.children.fatherq4_7_children_father.

Hi @Josh,
Could be great if the KoBo / ODK validator (import) would check against invalid name parts (like blanks …). and other names creating problems like model, data (conflicting with system key words) and maybe periods in some contexts/ places.

In the XLSForm documentation https://xlsform.org/en/#the-choices-worksheet periods are valid

“Names can only contain letters, digits, hyphens, underscores, and periods.”

Kind regards

Hi @stephanealoo,
Thank you, I’ll update once I check this solution.

Hi @Josh, the periods are working fine with variable names at the moment, I have been able to upload the XLSform with these.

1 Like

Hi All,
I have tried using the indexed-repeat function to refer between groups. However, I cannot specify the correct iteration to be used. In the attached screenshot, I want to use the position from the number mentioned as response to q4.0a.resp_id.

Thanks!

Hi All,
Found the issue with the syntax.

  1. Position refers to the variable name itself, the word ‘position’ is not a part of the syntax.
  2. I have found that creating calculated variables in the beginning to refer to values from previous repeat groups is efficient and does not create errors as opposed to using the indexed-repeat command for each individual question.