netsuite - CASE WHEN 文本字段不等于值
问题描述
在 Netsuite 保存的搜索中,我试图创建一个公式,如果文本字段不等于单词,则该公式部分给出字段值 - 在这种情况下,单词是“consol”。我尝试了以下方法,但遇到了错误,并且不知道如何完成此操作。
CASE WHEN {custbody_eym_exhibitor_name} = 'Consol' THEN {custrecord511.custrecord501} WHEN {custrecord169.custrecord173} IS NOT NULL AND {custbody_eym_exhibitor_name} IS NOT 'Consol' THEN {custrecord169.custrecord173} ELSE {custbody90} END
任何帮助表示赞赏。
解决方案
我知道Suite Answer Id 10101建议您可以这样做CASE WHEN -- THEN -- WHEN -- THEN -- ELSE -- END
。但是,这在保存的搜索中从未对我有用。我总是不得不做CASE WHEN -- THEN -- ELSE (CASE WHEN -- THEN -- ELSE -- END) END
。
如果您尝试执行以下操作:
如果 custbody_eym_exhibitor_name 是 Consol,则返回 custrecord511.custrecord501,并停止评估。
如果 custbody_eym_exhibitor_name 不是 Consol,则检查 custrecord169.custrecord173 是否为 NULL,并继续评估。
如果 custrecord169.custrecord173 为 NULL,则返回 custbody90,并停止评估。如果 custrecord169.custrecord173 不为 NULL,则返回 custrecord169.custrecord173,并停止评估。
这应该有效:
CASE WHEN {custbody_eym_exhibitor_name}='Consol' THEN {custrecord511.custrecord501} ELSE NVL({custrecord169.custrecord173},{custbody90}) END
如果您想检查 custbody_eym_exhibitor_name 是否包含 Consol 更改{custbody_eym_exhibitor_name}='Consol'
为{custbody_eym_exhibitor_name} LIKE '%Consol%'
.
此外,“Consol”的两个测试都区分大小写。要解决此问题,您可以更改{custbody_eym_exhibitor_name}='Consol'
为LOWER({custbody_eym_exhibitor_name})='consol'
推荐阅读
- sql - 标准sql中的复合百分比
- typescript - Typescript 类型运算符:将对象类型转换为联合
- java - Netty获取客户端绑定的主机和端口
- linux - vagrant 命令中的反引号
- uml - 如何正确绘制具有访问限制的用例图?
- sql - SQL Server:使用 CTE 行分区序列化顺序时间戳
- r - 如何在单个图上为随机福雷斯特、决策树和逻辑回归绘制 ROC 曲线
- node.js - 在 aws lambda nodejs 函数中获取音频持续时间
- sass - 为什么我的小图像是全屏宽度,即使我的 scss 文件中没有标记表明如此?
- proof - 证明数据类型之间转换的正确性