我有一个名为 FirstSale 的计算字段,我在其中观察到销售超过 80% 库存的产品的第一个实例。
我查看产品 ID 和时间戳(转换为字符串)以及已售库存的百分比。
如何优化此查询以使其不依赖于这么多字段,或者如何将其转换为 SQL 查询。
计算字段逻辑:
IF STR[SaleDate]) =
{FIXED [ID], {FIXED [ID], STR([SaleDate]), [Inventory %]:
IF MIN([Inventory %]) > 0.8
THEN 1 ELSE 0 END}: MIN([STR(SaleDate]))}
THEN 1
END
数据看起来像这样
其中有产品 ID、销售日期、库存百分比,最后一列(带有 1 和 0)是计算字段。
本质上,目标是计算应仅在 ID 首次显示 Inventory % > 80% 时返回 1。在所有其他情况下,返回 0。
例如,查看第二个 ID,应该有 1 的唯一值组合是 10 月 28 日(2020083008056,2020 年 10 月 28 日,84.00%,1),所有其他值应该返回 0。
所以第二个 ID 的全部回报是
(2020083008056, October 28 2020, 84.00%, 1 )
(2020083008056, October 29 2020, 84.36%, 0 )
(2020083008056, October 30 2020, 84.67%, 0 )
(2020083008056, October 31 2020, 84.67%, 0 )