HANA Studio:具有多个IF语句的计算列

问题描述

我在计算视图中设置了以下数据:

enter image description here

我正在尝试为键“ SAPClient Warehouse TU_NUM”创建另外两个计算列:

  1. 如果((TXT04 ='CHKO')和(STATUS_VALUE ='X'))AND((TXT04 ='CHKI')和(STATUS_VALUE ='X'))则列应返回``X''

  2. 如果((TXT04 ='CHKO')和(STATUS_VALUE =''))和((TXT04 ='CHKI')和(STATUS_VALUE ='X'))如果该列应返回“ X” >

当我尝试创建第一列时,我正在使用以下代码

if(“ TXT04” ='CHKO',if(“ STATUS_VALUE” ='X','X',''),'')和if(“ TXT04” ='CHKI',if(“ STATUS_VALUE” ='X','X','),'')

但是出现以下语法错误

enter image description here

您能给我一些有关如何更好地解决问题的建议吗?

将提供任何帮助。

感谢和BR。

解决方法

函数IF在表达式中返回一个字符串值,因此在字符串上没有定义AND运算符(更确切地说,AND是一个函数,如您通过trace所见)。 但是我认为您的代码中存在一个错字,因为(A and B) and (C and D)等于A and B and C and D,并且您尝试对“ TXT04='CHKO'”和“ TXT04='CHKI'”进行“与”运算,显然是FALSE

如果只有两个值,则可以使用单个IF if(<1'st group of conditions>,'X','')并相应地对所有条件进行分组。如果您有第三个值(“ X”和“''除外),则用第二个if替换摘要中的“”。对于两个以上的输出值,我更喜欢case语句。