有一列有正有负的数,需要移动取14个数,对其正负数分别求和
如下图所示,有一列数num,有正有负,还有2列是pmsum和nmsum,分别是对num这列中正数的移动求和、负数的移动求和,移动窗口是14。
请问在dolphindb database中,有什么函数可简单地实现?
回答
可以使用msum函数对num这列做窗口为14的滑动求和计算。计算之前,对num这列做一些变换,譬如把负数变为0,或把正数变为0.
select *, msum(iif(num > 0, num, 0), 14) as pmsum, msum(iif(num < 0, num, 0), 14) as nmsum from t
以上是 有一列有正有负的数,需要移动取14个数,对其正负数分别求和 的全部内容, 来源链接: utcz.com/a/26762.html