我正在NetSuite交易搜索的条件中创建一个公式(数字)字段。我的目标是查看4个月前(第一天)到上个月(最后一天)之间的{transdate}交易。动态日期范围很重要。
示例:如果今天的日期是1/15/19,则条件应过滤掉除9/1/18到12/31/18之间的所有交易。如果我在19年7月1日运行搜索,则范围应为3/1/19至6/31/19。
这是失败的Formula(数字)代码:
CASE WHEN {trandate} BETWEEN
TO_DATE(TRUNC((ADD_MONTHS({today},-4)),’MONTH’)) AND
TO_DATE(LAST_DAY(TRUNC({today},'MONTH')-1)) THEN 1 ELSE 0 END
导致以下错误:
“您的公式中有一个错误。它可能解析为错误的数据类型,使用未知函数或语法错误。请返回,更正公式,然后重新提交。”
我最能解决问题的是此迭代:
CASE WHEN {trandate} BETWEEN
TO_DATE(ADD_MONTHS({today},-4)) AND
TO_DATE(LAST_DAY(TRUNC({today},'MONTH')-1)) THEN 1 ELSE 0 END
问题在于第一个to_date代码没有给我每月的第一天。我最终的射程为9/15/18至12/31/18。我以为添加TRUNC将使我回到本月的第一天。我要去哪里错了?
答案 0 :(得分:2)
你很近。我认为这对您有用。第一个日期可以追溯到5个月并增加一天,第二个日期可以追溯到上个月的最后一天。
CASE WHEN {trandate} BETWEEN
LAST_DAY(ADD_MONTHS({today},-5))+1 AND
LAST_DAY(ADD_MONTHS({today},-1)) THEN 1 ELSE 0 END