我想编写一个简单的计算来返回基于字段层次的值。
如果第一个字段为空,我希望它返回第二个字段,如果第二个字段为空,则返回第三个字段。我尝试了以下但它只返回第一个值。
If (IsEmpty (Field1 = 1) ; Field2;
If (IsEmpty (Field2 = 1); Field3; Field1))
我可以使用以下方式获得第一个或第三个值:
If (IsEmpty (Field1) &
If (IsEmpty (Field2); Field3; Field1))
但当然这并没有显示Field2
。
是否有类似的内容:
If (IsEmpty (Field1) &
If (IsEmpty (Field2); Field3; Field1, Field2))
我能用哪个? 这显然不起作用,因为函数中有太多参数。
非常感谢任何帮助! : - )
答案 0 :(得分:4)
您需要更多地嵌套calc:
Case (
IsEmpty ( Field1 & Field2 ) ; Field3 ;
IsEmpty ( Field1 ) ; Field2 ;
Field1
)
在您的示例中,您有IsEmpty (Field1 = 1)
,它将测试Field1=1
,其为True或False,但从不为空。 &
是一个连接运算符,如果您想要逻辑运算,然后使用and
代替。
答案 1 :(得分:0)
您可以以更透明的方式重写此内容:
Case(
not isEmpty(Field1); Field1;
not isEmpty(Field2); Field2;
Field3
)
(这将来更容易维护/阅读)