Well, Bordalo, this is exactly the situation I was referring to, there is no causal relationship between season 1 and season 2 (if there is one, please explain), and your implied condition is based on “what I want to do…” not on the properties of objects being surveyed. Compare this, for example, with the situation
Q1: Are you male or female?
Q2: Are you pregnant right now?
The second question doesn’t make sense if the respondent is male. So the condition is dictated by the properties of the objects being surveyed, and the condition Q1==2
(suppose 2 is code for female) automatically suppresses the second question until the first one is answered with 2.
The contrary is likely to happen, there will be households, which were not present in the area in the 1st planting season, but present in the 2nd (hence they can’t answer all the questions in the 1st season block), or they responded don’t know, or other similar cases.
Simply determining, which question is last may be non-trivial when there is a complex logic within the season block (let’s say out of 100 questions in that block 75 have various conditions on the previous questions…).
My advice would be don’t do it.
But since you are likely to proceed anyways, to refer to any question in the 2nd level nested roster one may utilize the following condition:
IsAnswered(R1[LastRowCodeValueInR1].R2[LastRowCodeValueInR2].QuestionName)
where
- R1 and R2 are names of the rosters of the 1st and 2nd level of nesting (plots and crops in your example),
- QuestionName is the name of the last question in that 2nd level and
- LastRowCodeValueInR1 and …R2 are the highest rowcodes in the corresponding rosters (those you should figure out from the corresponding trigger questions).
Note that you can’t place the seasons in the roster (e.g. fixed with 2 seasons) since such a condition would create a circular link, which will not compile, so the design with subsections is correct in this context (or if the questions on S1 are very different from questions on S2). But in the other case (similar questions and no artificial requirement that you are trying to impose) I would put a top level roster for seasons to simplify the design and output data structure.
Best, Sergiy