如何编写从每月的第一天(4 个月前)开始到上个月的最后一天结束的动态 NetSuite 日期范围?
How do I code a dynamic NetSuite date range that begins the 1st day of the month (4 months ago) and ends the last day of last month?
我正在 NetSuite 事务搜索的条件中创建一个公式(数字)字段。我的目标是查看 4 个月前(第一天)和上个月(最后一天)之间使用 {transdate} 进行的交易。动态日期范围很重要。
示例:如果今天的日期是 2019 年 1 月 15 日,则条件应过滤掉除 2018 年 9 月 1 日和 2018 年 12 月 31 日之间的所有交易以外的所有交易。如果我 运行 在 2019 年 7 月 1 日进行搜索,则范围应为 2019 年 3 月 1 日至 19 年 6 月 31 日。
这是失败的公式(数字)代码:
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
我正在 NetSuite 事务搜索的条件中创建一个公式(数字)字段。我的目标是查看 4 个月前(第一天)和上个月(最后一天)之间使用 {transdate} 进行的交易。动态日期范围很重要。
示例:如果今天的日期是 2019 年 1 月 15 日,则条件应过滤掉除 2018 年 9 月 1 日和 2018 年 12 月 31 日之间的所有交易以外的所有交易。如果我 运行 在 2019 年 7 月 1 日进行搜索,则范围应为 2019 年 3 月 1 日至 19 年 6 月 31 日。
这是失败的公式(数字)代码:
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