具有不同事务类型的 Netsuite 嵌套案例

Netsuite nested case with different Transaction types

我完全被我很确定是一个嵌套的 CASE WHEN 语句问题所困扰,我需要它来引用一种交易类型的交易日期,同时 return 从另一种交易类型中获取数量结果时间表。

这是简明语言版本,运行在事务保存的搜索中:

  1. 查找 MIN 'Item Receipt' 输入交易日期,在过去 90 天内
  2. 当类型为 '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