Sql Netsuite在自定义搜索中的表达式返回“时的大小写”;无效表达式“;

Sql Netsuite在自定义搜索中的表达式返回“时的大小写”;无效表达式“;,sql,netsuite,Sql,Netsuite,我不熟悉在NetSuite中编写大小写表达式。我在自定义搜索的公式字段中插入了以下表达式 CASE WHEN {item.custitem_custid}=05 OR {item.custitem_custid}=12 THEN ({item.custitem_margin}/2) ELSE ({item.custitem_margin}/3) END 得到“因此,表达式无效。我试图将边距字段值除以2(如果情况为真),如果不为真,则除以3。有人知道我的公式出了什么问题吗

我不熟悉在NetSuite中编写大小写表达式。我在自定义搜索的公式字段中插入了以下表达式

CASE WHEN {item.custitem_custid}=05 OR {item.custitem_custid}=12 THEN
     ({item.custitem_margin}/2) 
ELSE 
     ({item.custitem_margin}/3)
END

得到“因此,表达式无效。我试图将边距字段值除以2(如果情况为真),如果不为真,则除以3。有人知道我的公式出了什么问题吗?

我同意EGRUBUGH360的说法,语法很好,连接可能无法正常工作。在你的论坛中,只需再次检查“项目”部分,看看你能做些什么


我也同意NVL()的建议,但我也可以看到分母分别是2和3,因此NVL()函数不会有任何帮助。请务必在分母为未知值时使用NVL(),例如记录/事务中的字段。

我同意EGRUBUGH360的说法,即语法很好,连接可能无法正常工作。在你的论坛中,只需再次检查“项目”部分,看看你能做些什么


我也同意NVL()的建议,但我也可以看到分母分别是2和3,因此NVL()函数不会有任何帮助。请务必在分母为未知值时使用NVL(),例如记录/交易中的字段。

我认为您需要添加括号:

CASE WHEN ({item.custitem_custid}=05 OR {item.custitem_custid}=12) THEN
     ({item.custitem_margin}/2) 
ELSE 
     ({item.custitem_margin}/3)
END

我认为您需要添加括号:

CASE WHEN ({item.custitem_custid}=05 OR {item.custitem_custid}=12) THEN
     ({item.custitem_margin}/2) 
ELSE 
     ({item.custitem_margin}/3)
END

我觉得你的语法不错。您正在搜索哪种记录类型?我认为联接工作不正常。作为旁注,在公式中使用除法时,NetSuite建议您使用
X/nullif(Y,0)
而不仅仅是
X/Y
,以避免被零除。谢谢。我来试试。我觉得你的语法不错。您正在搜索哪种记录类型?我认为联接工作不正常。作为旁注,在公式中使用除法时,NetSuite建议您使用
X/nullif(Y,0)
而不仅仅是
X/Y
,以避免被零除。谢谢。我来试试。欢迎来到Stack Overflow!这应该是一个评论,而不是回答。再重复一下,欢迎来到Stack Overflow!这应该是一个评论,而不是回答。再重复一点。