您好,目前时序聚合引擎还不支持 array vector 类型的数据。
dolphindb server version : 2.00.10.1 2023.08.11
vscode: 2.0.1041
createTimeSeriesEngine 的例3中,可以返回一个向量到 DOUBLE[] 类型的列中;
1. 修改代码如下时:
defg toVector(x){ return x,1.1 ) output1 = table(10000:0, `time`sym`sumVolume`avg, [TIMESTAMP,STRING,DOUBLE[],DOUBLE] engine1 = createTimeSeriesEngine(name="engine1", windowSize=60000, step=60000, metrics=<[toVector([first(volume),last(volume)])]>, dummyTable=trades, outputTable=output1, timeColumn=`time, keyColumn=`sym , useSystemTime=false, garbageSize=50, useWindowStartTime=false)
会报错:"Function toVector in time series engine doesn't support data type ANY"
2. 修改代码如下时:
defg toVector(x){ return 1.1,x ) output1 = table(10000:0, `time`sym`sumVolume`avg, [TIMESTAMP,STRING,DOUBLE,DOUBLE[]] engine1 = createTimeSeriesEngine(name="engine1", windowSize=60000, step=60000, metrics=<[toVector([first(volume),last(volume)])]>, dummyTable=trades, outputTable=output1, timeColumn=`time, keyColumn=`sym , useSystemTime=false, garbageSize=50, useWindowStartTime=false)
能正常生成 engine,但是回放数据时,没有数据生成到 outputTable 中
defg toVector(x){ b = [1.0,2.0,3.0] b = arrayVector([size(b)],b) return b }
defg toVector(x){ b = array(DOUBLE[],0,1).append!([[1.0,2.0,3.0]]) return b }
都报错:"Function toVector in time series engine doesn't support data type DOUBLE[]"
是否能在 matrix 函数中使用 DOUBLE[] 无所谓,只是想试试是否能在 toVector 中把返回值固定为 array vector 看能否绕开错误使满足核心需求。结果报错。