这是我用C语言写的方式。
if (x > 50)
{
//Already wrote this
}
else if((x < 50) && (x > 0))
{
if (a < 0.125y)
{return 0;}
else if (z >= 50)
{return 50;}
else
{return x;}
}
else
{
return 0;
}
我尝试嵌套了大量的iif语句,但它变得如此混乱,这是不可读的。有没有更有效的方法?
任何帮助都会很精彩。谢谢!
答案 0 :(得分:5)
iif(x>50,[your code],iif(x > 0, iif(a < .125y,0,iif(z >= 50,50,x)),0)
未来注意:这似乎不是一个巨大的嵌套问题。我已经看到一些有10级或更多级别,甚至达到极限(某处@ 10?)。我为复杂问题做的一个技巧是创建子查询,为主查询执行一些计算。
对于过于复杂的事情,最简单的赌注就是在模块中创建一个公共函数。然后,您可以像查询中的任何其他评估一样使用它。所以......
Public Function ReturnMyValue(x as Integer, a as integer, y as integer) as Integer
'your code here
End Function
然后在你的查询...
=ReturnMyValue(x,a,y)