在元编程中,你可能需要把多列组合成一个 matrix, 参考: x = `x+string(1..3)residual = makeCall(member, makeCall(ols, sqlCol(`factor0), makeUnifiedCall(matrix, sqlCol(x)), 1, 2), "Residual")sql(residual, t).eval()
回答于 2023-11-24 18:52
先用 interval 把所有缺失的天填上,再过滤掉不在 marketDay 的数据 st = take(`a, 7) join take(`b, 6)date = 2023.08.01 + 0 1 3 6 7 8 9 0 1 2 3 8 9val = 35 34 35.79 33.26 32.88 33.73 31 25 24 22 25.79 21 31t = table(st, date, val)marketDay = 2023.08.01 + 0 1 2 3 6 7 8 9re = select last(val) from t group...
回答于 2023-11-22 16:00
t1 = table(`a`a`b`b`c as sym, 1 2 3 4 5 as val1, 6 7 8 9 10 as val2)t2 = table(`a`a`b`b`c as sym, 1 2 3 7 5 as val1, 6 7 8 9 10 as val2)def eqTable(t1, t2): eqObj :E:E (t1, t2) colList= `val1`val2 // 指定比较的字段re = eqTable(t1[colList], t2[colList]).rename!(colList) 可以通过上述脚本比较每个值的...
回答于 2023-11-14 12:00
可以 bytes 转换上传会转为 BLOB;或者自己指定一下类型,参考: import dolphindb.settings as keys df.__DolphinDB_Type__ = { 'cint': keys.DT_INT, 'csymbol': keys.DT_SYMBOL, 'cblob': keys.DT_BLOB, } s.upload({"df_true": df}) print(s.run("schema(df_true)")['colDefs']) https://github.com/dol...
回答于 2023-11-10 15:49
可以借助 lpad 进行填充: def evenLPad(str, pad): lpad{,,pad}:E(str, 2*ceil strlen(str)\2) 如果要提升运行效率,可以用: def evenLPad(str, pad): lpad{,,pad}:E(str, 254&strlen(str)+1) 在字符串多的场景下,可以提升 20 % 左右的性能
回答于 2023-11-10 11:36
可以参考 https://gitee.com/dolphindb/Tutorials_CN/blob/master/tsdb_explained.md 8.3 的 QA 以及 4.2 的测试结果,重复写数据,在查询的时候有个去重开销,影响较大
回答于 2023-11-10 11:15
修改 A 不会改变 B 的输出。函数视图要全部重新添加,因为函数视图是把A() 拷贝到 B() 的定义里再序列化的,所以更新 A 后,B 不会受到影响,需要删除 B 的函数视图再重新定义。
回答于 2023-11-03 17:10