我在NetSuite的保存搜索中遇到了问题。
这作为公式(文本):
CASE WHEN {type} THEN 'Kit' ELSE 'not kit' END
这些作为公式(数字):
min(({memberitem.quantityonhand}/NULLIF({memberquantity},0))/(NULLIF({memberitem.preferredStockLevel}/NULLIF({memberquantity},0),0)))
还有这个
{quantityonhand}/NULLIF({preferredstocklevel},0)
但当我尝试将它们作为公式(数字)放在一起时,它们会失败:
CASE WHEN {type}='Kit/Package' THEN min(({memberitem.quantityonhand}/NULLIF({memberquantity},0))/(NULLIF({memberitem.preferredStockLevel}/NULLIF({memberquantity},0),0))) ELSE {quantityonhand}/NULLIF({preferredstocklevel},0) END
我也尝试过多个CASE WHEN语句:
CASE WHEN {type}='Kit/Package'
THEN min(({memberitem.quantityonhand}/NULLIF({memberquantity},0))/(NULLIF({memberitem.preferredStockLevel}/NULLIF({memberquantity},0),0)))
ELSE
CASE WHEN {type}='Inventory Item'
THEN {quantityonhand}/NULLIF({preferredstocklevel},0)
ELSE 'nope'
END
ELSE 'nope'
END
还是行不通。
我认为问题可能是我的CASE WHEN语句用于公式(文本)而我的输出用于公式(数字)。如果是这种情况,我如何以数字格式检查我的项目类型,或者我的代码是不是很难?
提前致谢。
好。我想在这里跟进并根据评论中的帮助发布我想出的答案。
@Brian想出了这个问题并给了我建议,我需要让它运作起来。他是对的 - 我把混合聚合物与非聚合物混合在一起。以下是最终的工作:
CASE WHEN {type}='Kit/Package' THEN ({memberitem.quantityonhand}/NULLIF({memberquantity},0))/(NULLIF({memberitem.preferredStockLevel}/NULLIF({memberquantity},0),0)) ELSE {quantityonhand}/NULLIF({preferredstocklevel},0) END
所以你可以看到有效的方法是从套件部分中删除min()函数。我仍然需要弄清楚如何获得正确的套件库存数量,但@ Brian的建议解决了主要问题。