我正在 NetSuite 事务搜索的条件中创建一个公式(数字)字段。我的目标是查看 4 个月前(第一天)和上个月(最后一天)之间使用 {transdate} 进行的交易。动态日期范围很重要。
示例:如果今天的日期是 2019 年 1 月 15 日,则标准应过滤掉所有交易,但介于 2018 年 9 月 1 日和 2018 年 12 月 31 日之间的交易除外。如果我在 7/1/19 运行搜索,那么范围应该是 3/1/19 到 6/31/19。
这是失败的公式(数字)代码:
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 会让我回到本月的第一天。我哪里错了?
你很接近。我认为这对你有用。第一个日期返回 5 个月并增加一天,第二个日期返回上个月的最后一天。
CASE WHEN {trandate} BETWEEN
LAST_DAY(ADD_MONTHS({today},-5))+1 AND
LAST_DAY(ADD_MONTHS({today},-1)) THEN 1 ELSE 0 END
我正在尝试获取 3 个月前的期间的毛利率,尝试使用以下公式,但是,不工作。
SUM((CASE WHEN {accounttype} = 'Income' AND {trandate} BETWEEN LAST_DAY((ADD_MONTHS({today},-3)))+1 AND LAST_DAY(ADD_MONTHS({today},-2)) 然后 {amount } ELSE ({amount}*-1) END))/ SUM((CASE WHEN {accounttype} = 'Income' AND {trandate} BETWEEN LAST_DAY((ADD_MONTHS({today},-3)))+1 AND LAST_DAY( ADD_MONTHS({today},-2)) THEN NULLIF({amount},0) ELSE END))