1. What is the issue? Please be detailed.
Took me forever to track this down as I was using the same field for other calculations in the group and didn't realise where the real error location was until I made an entirely separate test form and finally found the one thing that was different between them. (╯°□°)╯︵ ┻━┻
In a form, I wanted to make a group relevant only if a field in a repeat had been answered at least once (I could have used the count of repeat elements, but if the repeat was blank the repeat count is still 1, so not ideal)
I put a simple ${input0}!='' in the relevance field, assuming that the nodeset having any content would satisfy the test. It worked in Enketo and Web Forms with no issues, but as soon as there was >1 value in Collect it errored with an 'error evaluating field ... problem located in Condition expression'
Enketo / Web Forms don't seem to be 'wrongly' only looking at the first repeat value, as leaving the input blank in the first repeat and populating the second still makes the end group relevant in both. And Collect doesn't work with the same blank then value, it still sees a repeated field and errors.
After changing the relevance to a join, with only one blank Enketo & WF don't make the group relevant, two or more blanks, Enketo & WF do make the group relevant, but Collect remains non relevant with >=2.
If this is "correct" behaviour for Collect, then Enketo and Web Forms are wrong. Or vice versa? ![]()
2. What steps can we take to reproduce this issue?
Try the attached form, see it works in Enketo & Web Forms, but not in Collect, then replace ${input0}!='' with join(' ' , ${input0}) != '' to make it work in Collect.
4. Upload any forms or screenshots you can share publicly below.
repeat relevance error.xlsx (83.2 KB)