Hi,
I was wondering how to deal with multiple if conditions in a Survey123 calculation. I know you can embed an if within in if but I'm not sure if this can handle all the if circumstances. Basically, in my case, depending on which region you pick from a Select One list, a different formula will be used to crunch the same value parameter. I have four different formulas, and one of them has two if's within it, so a total of five possible formulas used to crunch the same parameter.
How could I structure this?
Solved! Go to Solution.
Hi @dgray it sounds like you want to nest five if() statements in one expression, is that right? That's definitely doable. As demonstrated in this reply, you can nest multiple if() statements, remembering to ensure each if() contains three arguments. The following example tests five conditions:
if(condition, value if true, if(condition, value if true, if(condition, value if true, if(condition, value if true, if(condition, value if true, value if false)))))
It's often easier to construct each if() statement separately first and check that each one works, before merging them into one expression.
Hope this helps. Best, Jim
Hi @dgray it sounds like you want to nest five if() statements in one expression, is that right? That's definitely doable. As demonstrated in this reply, you can nest multiple if() statements, remembering to ensure each if() contains three arguments. The following example tests five conditions:
if(condition, value if true, if(condition, value if true, if(condition, value if true, if(condition, value if true, if(condition, value if true, value if false)))))
It's often easier to construct each if() statement separately first and check that each one works, before merging them into one expression.
Hope this helps. Best, Jim
How would you deal with dates? If there is a date selected/entered....if there isn't a date selected/entered.
If there is a date entered in field A, I want field B to be "Completed". If there isn't a date entered in field A, I want field B to be "Open"?
if(${datefield} = "", "Open", "Completed")
The other way is to have 4 calculate fields that always do all 4 calcs. Then use the if to pick out which one to use. Easier to write.
If say the multiplier changes then I use pulldata for that. I do a lookup to get the value then use that to say multiply.
Hope that helps
Great, both are useful pieces of information. Thanks!