使用功能选择获取其他列

问题描述

如何使用string获取类型为?的附加列?

我尝试过:

t:([]c1:`a`b`c;c2:1 2 3)
?[t;();0b;`c1`c2`c3!(`c1;`c2;10)]           / ok
?[t;();0b;`c1`c2`c3!(`c1;`c2;enlist(`abc))] / ok
?[t;();0b;`c1`c2`c3!(`c1;`c2;"10")]         / 'length
?[t;();0b;`c1`c2`c3!(`c1;`c2;enlist("10"))] / 'length

但出现'length错误

解决方法

您的第一种情况是可行的,因为原子将自动扩展到所需的长度。对于复合列,您需要按如下所示显式生成正确的长度

q)select c1,c2,c3:`abc,c4:10,c5:count[i]#enlist"abc" from t
c1 c2 c3  c4 c5
------------------
a  1  abc 10 "abc"
b  2  abc 10 "abc"
c  3  abc 10 "abc"

// in functional form
q)?[t;();0b;`c1`c2`c3!(`c1;`c2;(#;(count;`i);(enlist;"abc")))]
c1 c2 c3
-----------
a  1  "abc"
b  2  "abc"
c  3  "abc"

Jason

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...