在NetSuite中使用另一种情况下的比较结果的情况

时间:2015-06-25 19:43:57

标签: search formula netsuite

我正在尝试在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搜索并没有找到任何讨论此类操作的内容。

1 个答案:

答案 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