两个变量:
q) indexList
,1452750
,966036
,1125386
,1450294
,1450293
,1452030
,1570712
421818 421840 421897 421988 422026 422059 422084
851199 851271
695902 695928
,933185
679878 679882 679886 679912
,1200606
,548797
,1057031
,751900
508978 509033 509050 509055 509060 509066 509116 509135 509140 509170 509183
,562289
,553980
1199177 1199178
q) uid
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 3..
我正在尝试将每个索引的
uid
添加到表中名为 uid
的新列中。
因此
uid[0]
应分配给 indexList[0]
等等。
我不确定在处理嵌套列表时最好的方法是什么,因为所有
421818 421840 421897 421988 422026 422059 422084
都需要相同的 uid
例如8
操作嵌套列表数据的最佳方法是什么 - 将其从当前形式转换为新的表列?
q 用于创建的代码
indexList
q)indexList:(enlist 1452750;enlist 966036;enlist 1125386;enlist 1450294;enlist 1450293;enlist 1452030;enlist 1570712;421818 421840 421897 421988 422026 422059 422084;851199 851271;695902 695928;enlist 933185;679878 679882 679886 679912;enlist 1200606;enlist 548797;enlist 1057031;enlist 751900;508978 509033 509050 509055 509060 509066 509116 509135 509140 509170 509183;enlist 562289;enlist 553980;1199177 1199178)
注意
uid
修剪为 indexList
的长度,因为问题建议它们的长度应该匹配。
q)uid:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
创建一个示例表并创建一个
uid
空列:
q)tab:([] a:til 2000000)
q)update uid:0N from `tab
在我们需要的索引处插入uid:
q)tab[`uid]:@[tab`uid;raze indexList;:;raze (count each indexList)#'uid]
查看输出中填充的记录:
q)select from tab where i in raze indexList
a uid
-----------
421818 8
421840 8
421897 8
421988 8
422026 8
422059 8
422084 8
508978 17
509033 17
509050 17
509055 17
509060 17
509066 17
509116 17