Error: msum(X, window, [minPeriods]). Window must be at least 2. What is the reason?
Error: msum(X, window, [minPeriods]). Window must be at least 2. What is the reason?
我已经尝试根据下面的函数将 msum 与变量 window 一起使用,但它总是给我一个错误“window 必须至少为 2”。谁能帮我解决这个问题?
这是我的直播table。分享 streamTable(1:0, `ts`symbol`price`vol`time,[TIMESTAMP, SYMBOL, DOUBLE, DOUBLE, TIMESTAMP]) as ip1
.
而且,这是我的正常 table
t3 = select *, mod(minute(ts), 5)+2 as v1 from ip1
以下给出错误
select *, mod(minute(ts), 5), msum(vol, int(mod(minute(ts), 5)+2)) from ip1
select mod(minute(ts), 5), msum(vol, int(mod(minute(ts),5)+2)) from ip1
这些也会报错...
select *, msum(vol, int(v1)) from t3
select msum(vol, int(v1)) from t3
msum
是聚合函数,不能和'*'一起使用。
如果 window 大小是固定的,您可以直接在函数中输入它。看起来您想对时间戳列进行 window 计算。 DolphinDB 提供了函数 tmsum
,您可以使用它计算由 ts 持续时间定义的 windows 中的总和。例如 tmsum(ts, vol, 2s)
.
我已经尝试根据下面的函数将 msum 与变量 window 一起使用,但它总是给我一个错误“window 必须至少为 2”。谁能帮我解决这个问题?
这是我的直播table。分享 streamTable(1:0, `ts`symbol`price`vol`time,[TIMESTAMP, SYMBOL, DOUBLE, DOUBLE, TIMESTAMP]) as ip1
.
而且,这是我的正常 table
t3 = select *, mod(minute(ts), 5)+2 as v1 from ip1
以下给出错误
select *, mod(minute(ts), 5), msum(vol, int(mod(minute(ts), 5)+2)) from ip1
select mod(minute(ts), 5), msum(vol, int(mod(minute(ts),5)+2)) from ip1
这些也会报错...
select *, msum(vol, int(v1)) from t3
select msum(vol, int(v1)) from t3
msum
是聚合函数,不能和'*'一起使用。
如果 window 大小是固定的,您可以直接在函数中输入它。看起来您想对时间戳列进行 window 计算。 DolphinDB 提供了函数 tmsum
,您可以使用它计算由 ts 持续时间定义的 windows 中的总和。例如 tmsum(ts, vol, 2s)
.