是否有更好的解决办法
需求:计算本期与同期对应日期的销售差额,比如 5 月 1 日要对应 5 月 2 日,同期的日期都对应地往后推一天
数据如下:
先上自己的解决办法
搞个日期对应的表
我的方法如下
目的是达到了。
我想会不会有更简单高效的办法呢?并且如果这两个表如果非常大,再加 join 一次,会不会造成很大的内存占用?之前读过一个一篇文章 用 switch 将两个表关联起来,应该是不必产生新表了。感觉不错,不知道有没有类似的思路解决这种数据对比的问题。我想若把对比日期和类别都设为主键,是不是可以用 switch 干这活了呢?
SPL 精妙得很,常感自己愚钝,还请各位大佬赐教,谢谢了。
switch 只能用于单字段外键,这个案例就是需要做两次关连,目前的算法写的挺好,就是 A5 格那个 rename 没什么必要。
日期对照表可以不建,以下仅供参考:
1、用 join,join 里的关联字段可以是表达式,join 后用 new 或者 derive@x 展开
2、如果用 P.join,此时关联键只能是字段名,不能用表达式。
如果日期和类别这两个字段都有序,可以用 join@m 归并。
谢谢指点
好的。感谢指点。