具有不同事务类型的 Netsuite 嵌套案例
Netsuite nested case with different Transaction types
我完全被我很确定是一个嵌套的 CASE WHEN 语句问题所困扰,我需要它来引用一种交易类型的交易日期,同时 return 从另一种交易类型中获取数量结果时间表。
这是简明语言版本,运行在事务保存的搜索中:
- 查找 MIN 'Item Receipt' 输入交易日期,在过去 90 天内
- 当类型为 'Sales Order' 时,return 自该 MIN 项目接收日期以来的数量总和
这是我目前所拥有的,我至少可以达到 运行,但我知道它并不完全遵循上述逻辑,除此之外它 return 无论如何都是无意义的数据.每当我尝试在任何日期计算中输入 MIN 时,字段结果都会出错。
----------
Sample Data:
| Type | Transaction Date | Name | Quantity |
|--------------|:-----------------------:|-------------|:---------------:|
| Item Receipt | 2/25/2021 | Vendor A | 20 |
| Item Receipt | 2/5/2021 | Vendor A | 21 |
| Item Receipt | 2/3/2021 | Vendor A | 4 |
| Sales Order | 3/18/2021 | Customer A | 1 |
| Sales Order | 3/13/2021 | Customer B | 1 |
| Sales Order | 3/13/2021 | Customer B | 1 |
| Sales Order | 3/2/2021 | Customer B | 1 |
----------
结果行:
字段:公式(数字),汇总类型:总和
case when {type} = 'Item Receipt' AND {trandate} < ({today}-90) THEN (case when {type} = 'Sales Order' AND {trandate} > ({today}-90) then {quantity} else 0 end) else 1 end
期望结果:4(自最早收货日期 2/3/2021 以来所有销售订单数量的总和)
实际结果:28(这是来自最后一个 ELSE 1 位,但我不知道为什么总和为 28)
我觉得我要么就快弄清楚了,要么我离基地太远了,我什至没有任何线索....
我不太明白你想做什么,但是一个交易不能是两种交易类型。它是项目收据或销售订单。
下面是一些示例 SQL,可能会有帮助:
CASE {type}
WHEN 'Item Receipt' THEN
CASE
WHEN ({trandate} < ({today} - 90))
THEN {quantity}
ELSE 0
END
WHEN 'Sales Order' THEN
CASE
WHEN ({trandate} < ({today} - 90))
THEN {quantity}
ELSE 0
END
ELSE 1
END
我完全被我很确定是一个嵌套的 CASE WHEN 语句问题所困扰,我需要它来引用一种交易类型的交易日期,同时 return 从另一种交易类型中获取数量结果时间表。
这是简明语言版本,运行在事务保存的搜索中:
- 查找 MIN 'Item Receipt' 输入交易日期,在过去 90 天内
- 当类型为 'Sales Order' 时,return 自该 MIN 项目接收日期以来的数量总和
这是我目前所拥有的,我至少可以达到 运行,但我知道它并不完全遵循上述逻辑,除此之外它 return 无论如何都是无意义的数据.每当我尝试在任何日期计算中输入 MIN 时,字段结果都会出错。
----------
Sample Data:
| Type | Transaction Date | Name | Quantity |
|--------------|:-----------------------:|-------------|:---------------:|
| Item Receipt | 2/25/2021 | Vendor A | 20 |
| Item Receipt | 2/5/2021 | Vendor A | 21 |
| Item Receipt | 2/3/2021 | Vendor A | 4 |
| Sales Order | 3/18/2021 | Customer A | 1 |
| Sales Order | 3/13/2021 | Customer B | 1 |
| Sales Order | 3/13/2021 | Customer B | 1 |
| Sales Order | 3/2/2021 | Customer B | 1 |
----------
结果行:
字段:公式(数字),汇总类型:总和
case when {type} = 'Item Receipt' AND {trandate} < ({today}-90) THEN (case when {type} = 'Sales Order' AND {trandate} > ({today}-90) then {quantity} else 0 end) else 1 end
期望结果:4(自最早收货日期 2/3/2021 以来所有销售订单数量的总和)
实际结果:28(这是来自最后一个 ELSE 1 位,但我不知道为什么总和为 28)
我觉得我要么就快弄清楚了,要么我离基地太远了,我什至没有任何线索....
我不太明白你想做什么,但是一个交易不能是两种交易类型。它是项目收据或销售订单。
下面是一些示例 SQL,可能会有帮助:
CASE {type}
WHEN 'Item Receipt' THEN
CASE
WHEN ({trandate} < ({today} - 90))
THEN {quantity}
ELSE 0
END
WHEN 'Sales Order' THEN
CASE
WHEN ({trandate} < ({today} - 90))
THEN {quantity}
ELSE 0
END
ELSE 1
END