不同的两个月份求环比并放入序列中
两个不同的月份,由客户参数决定,可能跨年
以 6 月为主体,得到相同的 base 下 6 月的 yj_hyjb 减去 4 月的 yj_hyjb 的值,并放入已有其他计算列的序列中
——————————————————
下方为我自己写的,但是计算结果不对,求大佬指点
解决方案!!!
我的解决办法是将原有数据按照 base 和 mon 排序 (我数据中 mon 是自动排序,如有需要可以自行添加排序),得到下方的数据
之后通过条件限制,只赋值给 6 月的数据,yj_hyjb==yj_hyjb[-1] 是用于判断两个月份的 base 相等(或者说数据中 6 月上方的那条数据是持有相同 base 的 5 月数据 ),否则 -yj_hyjb[-1] 会出错,减别的 base 的 yj_hyjb(这里是我的业务导致,两个月的 base 并不是完全相同,会各自有另外的 base)
这便是最后得出的数据
这个应该算是大批量数据求环比,如果各位大佬有更好的办法欢迎指教
计算需求描述的不是太清楚,A5 格改成下列表达式试一下是不是想要的结果。
=A4.(~.(int(yj_hyjb) - int(yj_hyjb[-1])))
我试了,可以得出,但是另一个问题是,怎么把分组计算得出的值放到未分组之前的数据中呢?
能否以 base 这个字段为锚点来进行加入呢?
=A4.conj(~.derive(int(yj_hyjb) - int(yj_hyjb[-1]):v))
猜测题主是想分组计算后,结果布局跟源表源格式保持一致,环比相当于填空😄
看数据大不大,笨办法:
源表增加一列序号列 1 到 n,然后按 base 分组,算出环比后,结果再按序号列排序
或者只要有某一列或者某几列能让结果排序后恢复至源表顺序就行。
不知道是否可行?