我正在尝试在NetSuite中使用公式和字段的已保存搜索上运行等式。
我可以运行它并获得正确的值:
CASE WHEN {systemnotes.context}='UI' AND {systemnotes.field}='Date Closed' THEN {systemnotes.newvalue} END
并且,这将返回正确的值:
{startdate}
但是,我无法弄清楚怎么说如果第一个案例没有返回空值,而第二个案例不是null,那么给我两者之间的区别。我正在尝试这样的事情(在许多不同的变化中:
CASE WHEN [(CASE WHEN {systemnotes.context}='UI' AND {systemnotes.field}='Date Closed' THEN {systemnotes.newvalue} END) IS NOT NULL AND {startdate} IS NOT NULL] THEN
{CASE WHEN {systemnotes.context}='UI' AND {systemnotes.field}='Date Closed' THEN {systemnotes.newvalue} END)-{startdate}
END
每次我运行它都会得到无效的表达。不过,我用Google搜索并没有找到任何讨论此类操作的内容。
答案 0 :(得分:1)
下面的公式对我有用。我无法告诉您正在运行的记录类型,所以我只是在名为Test Date Field
的案例记录中添加了一个自定义日期字段。只需用你的字段替换字段名称就可以了。
关键是{systemnotes.newvalue}
返回文本,因此您需要将结果包装在TO_DATE()
中以进行转换。然后你可以从中减去{startdate}
。
您的列类型应为公式(数字)。
case when
(CASE WHEN {systemnotes.context}='UI' AND {systemnotes.field}='Test Date Field' THEN {systemnotes.newvalue} END is not null and {startdate} is not null)
then (TO_DATE(CASE WHEN {systemnotes.context}='UI' AND {systemnotes.field}='Test Date Field' THEN {systemnotes.newvalue} END) - {startdate}) END