报错的意思是分区列与3号参数冲突了,看代码是调用createPartitionedTable时括号内第一个参数db多余了,最后一行代码改成如下: pt = db.createPartitionedTable(t, 'testtable1', partitionColumns='day_date', sortColumns=`symbol`day_date`hms_value`cond)
回答于 2023-11-13 08:56
可以参考改写看看 t1= table(1 2 3 3 as id, 7.8 4.6 5.1 NULL as val1, 7.8 4.6 5.1 NULL as val2);t1[each(x->all(isValid(x.values())), t1.col(1:))]
回答于 2023-11-13 08:51
ds中的数据源是按照trades的分区去取的,写入呢又是按照TAQ的数据分区写入的,两个分区不一样的情况下,写入是会冲突的。建议统一append,calcOHLC的部分return tmp,不做append,然后mr最后的结果合并,一起写入。OHLC应该不大。
回答于 2023-11-12 22:59
可以用iterate函数:https://docs.dolphindb.cn/zh/help/200/FunctionsandCommands/FunctionReferences/i/iterate.html close = 1..5alpha = 2output = iterate(init=close[0], coeffs=1, input=([0]<-close[1:])*alpha)
回答于 2023-11-12 22:50
可以试试设置事务写入的原子性层级为’CHUNK’https://docs.dolphindb.cn/zh/help/FunctionsandCommands/CommandsReferences/s/setAtomicLevel.html 。 设置为’CHUNK’,写入事务的原子性层级为分区。若一个事务写入多个分区时,某分区被其它写入事务锁定而出现冲突,系统会完成其他分区的写入,同时对之前发生冲突的分区不断...
回答于 2023-11-12 22:16
用lpad自定义一个函数: def evenLPad(str, pad): lpad{,,pad}:E(str, 2*ceil strlen(str)\2) 如果字符串多,还可以试试这个,会快20%左右: def evenLPad(str, pad): lpad{,,pad}:E(str, 254&strlen(str)+1)
回答于 2023-11-12 21:59
C++ API是开源的,可以按https://gitee.com/dolphindb/Tutorials_CN/blob/master/cpp_api_vs2017_tutorial.md 这篇文档自己下载编译。其中api编译起来不算麻烦,主要是用到的openssl编译起来比较麻烦。https://www.npcglib.org/~stathis/blog/precompiled-openssl 这里可以下载到编译好的openssl,也有debug版本,会方便不...
回答于 2023-11-12 21:40
你是什么版本,看上去是不支持python parser
回答于 2023-11-12 16:55
colname= 1..100 date1 = 2021.01.01..2022.06.30 raw_data= (1..54600$546:100).rename!(date1,colname) date2= rowNames(raw_data)//这里函数返回地址,date2引用了矩阵的label trade_dates=getMarketCalendar("CFFEX",2021.01.01,2022.06.30) trade_mask = date1 in trade_dates date1[!trade_mask]=NULL trade_mask = d...
回答于 2023-11-07 18:01