目前我这边测试没有你说的size(volume)为0的输出,目前已经发布最新版本,可以使用最新版
下面例子是 https://www.dolphindb.cn/cn/help/FunctionsandCommands/FunctionReferences/c/createTimeSeriesEngine.html 文档中第一个例子
$ share streamTable(1000:0, `time`sym`volume, [TIMESTAMP, SYMBOL, INT]) as trades $ output1 = table(10000:0, `time`sym`sumVolume, [TIMESTAMP, SYMBOL, INT]) $ engine1 = createTimeSeriesEngine(name="engine1", windowSize=60000, step=60000, metrics=<[sum(volume)]>, dummyTable=trades, outputTable=output1, timeColumn=`time, useSystemTime=false, keyColumn=`sym, garbageSize=50, useWindowStartTime=false) $ subscribeTable(tableName="trades", actionName="engine1", offset=0, handler=append!{engine1}, msgAsTable=true); $ insert into trades values(2018.10.08T01:01:01.785,`A,10) $ insert into trades values(2018.10.08T01:01:02.125,`B,26) $ insert into trades values(2018.10.08T01:01:10.263,`B,14) $ insert into trades values(2018.10.08T01:01:12.457,`A,28) $ insert into trades values(2018.10.08T01:02:10.789,`A,15) $ insert into trades values(2018.10.08T01:02:12.005,`B,9) $ insert into trades values(2018.10.08T01:02:30.021,`A,10) $ insert into trades values(2018.10.08T01:04:02.236,`A,29) $ insert into trades values(2018.10.08T01:04:04.412,`B,32) $ insert into trades values(2018.10.08T01:04:05.152,`B,23) $ sleep(10) $ select * from output1;
(1) 把metrics改写为metrics=<f1(volume)>,同时定义
后面貌似没问题了 用了最新版解决。但对于第二步还是有疑问