我试图在Netsuite保存的搜索中获取公式(文本(行的CASE语句的'ELSE'部分中两个字段的乘积,但在运行搜索时,我一直得到'ERROR:Invalid Expression'。目前的公式是:
CASE WHEN {binonhandcount} = 0 THEN '0' ELSE NVL({binonhandcount}, 0) * NVL({locationaveragecost}, 0) END
我试着通过做这样的事情来简化它:
CASE WHEN {binonhandcount} = 0 THEN '0' ELSE 1 + 1 END
但它仍然失败,并出现一个无效的表达式错误。我在谷歌上做的所有搜索都让我相信这个应该有效,但我似乎找不到我的错误。我希望这里多余的眼睛能给我一个正确的方向踢。非常感谢。
公式返回的数据类型需要与所选的公式类型匹配。您可以通过将公式设置为公式(数字(类型并简单地删除第一个THEN
:后"0"周围的引号来更正公式
CASE WHEN {binonhandcount} = 0 THEN 0 ELSE NVL({binonhandcount}, 0) * NVL({locationaveragecost}, 0) END
或者,如果出于某种原因确实想要一个文本公式,可以将ELSE
语句封装在TO_CHAR
函数中:
CASE WHEN {binonhandcount} = 0 THEN '0' ELSE TO_CHAR(NVL({binonhandcount}, 0) * NVL({locationaveragecost}, 0)) END
在NetSuite保存的搜索中将公式(文本(替换为公式(数字(。
您的公式是:
CASE WHEN {binonhandcount} = 0 THEN 0 ELSE NVL({binonhandcount}, 0) * NVL({locationaveragecost}, 0) END
请删除THEN"0"中的字符串。你应该没事的。