hana - HANA Studio:具有多个 IF 语句的计算列
问题描述
我的计算视图中有以下数据集:
我尝试为键“SAPClient Warehouse TU_NUM”创建两个额外的计算列:
如果 ((TXT04='CHKO') and (STATUS_VALUE='X')) AND ((TXT04='CHKI') and (STATUS_VALUE='X')) 列应该返回“X”
如果 ((TXT04='CHKO') and (STATUS_VALUE=' ')) AND ((TXT04='CHKI') and (STATUS_VALUE='X')) 列应该返回“X”
当我尝试创建第一列时,我使用以下代码:
if("TXT04"='CHKO',if("STATUS_VALUE"='X', 'X',''),'') 和 if("TXT04"='CHKI',if("STATUS_VALUE"='X ', 'X',' '),' ')
但得到以下语法错误:
你能给我一些关于如何以更好的方式解决我的问题的提示吗?
会感谢任何帮助。
谢谢和BR。
解决方案
函数 IF 在您的表达式中返回一个字符串值,因此没有在字符串上定义 AND 运算符(更准确地说,AND 是一个函数,您可以通过跟踪看到)。但我认为你的代码中有一个错字,因为(A and B) and (C and D)
等于A and B and C and D
,你尝试“与” TXT04='CHKO'
,TXT04='CHKI'
这显然是FALSE
。
如果您只有两个值,那么您可以使用单个 IFif(<1'st group of conditions>, 'X', '')
并相应地对所有条件进行分组。如果您有第三个值('X' 和 '' 除外),则将片段中的 '' 替换为第二个 if。对于两个以上的输出值,我更喜欢case
声明。
推荐阅读
- powershell - 将工件传递给 Azure devops Rest api POST 方法
- python - 尝试根据与数据框中其他 2 列相关的条件创建预定答案
- php - 从字符串中提取 PHP 中的数字 + 忽略内容
- c# - 如何使用每次加载场景时递增的生成率变量统一加载场景?
- android - 滚动视图没有完全滚动
- python - 填充后,为什么我的蟒龟不能再画了
- python - 将带有缺失键的 Pandas 的 Json 标准化为 NAN 或 null
- javascript - 在 React 中对选择列表 (AZ) 进行排序
- html - 如何在导航栏上突出显示活动路线?
- javascript - 每当我尝试在邮递员中发出发布请求时,我都会收到错误消息“Todo 验证失败:任务:需要路径`task`”