kdb - 使用 Over 在 kdb+ 中连接枚举列和符号列

标签 kdb

我正在查看两个表,一个有枚举列,另一个没有。我使用 (,/) 将它们连接在一起,它不会取消枚举数据。 (uj/) 和 last (,\) 都可以。有人知道为什么会这样吗?

KDB+ 4.0 2021.04.26 Copyright (C) 1993-2021 Kx Systems

q)enum:`a`b
q)t1:([]c1:`enum$`a`b)
q)t2:([]c1:`a`b)
q)(,/) (t1;t2)
c1
--------
`enum$`a
`enum$`b
`a
`b
q)(uj/) (t1;t2)
c1
--
a
b
a
b
q)last(,\) (t1;t2)
c1
--
a
b
a
b
q)```

最佳答案

我怀疑这是因为解释器对 ,/(以及 raze)进行了特殊处理,而其他的则没有。

实际的追加会给你想要的结果:

q)0N!({x,y}/)(t1;t2);
+(,`c1)!,`a`b`a`b

因此,即使 {x,y}/ 看起来与 ,/ 相同,但由于下面的“特殊处理”,情况并非总是如此封面

关于kdb - 使用 Over 在 kdb+ 中连接枚举列和符号列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69450764/

相关文章:

KDB:如何解析kdb中的毫秒时间戳

kdb - 使用变量将数据库路径传递给\l 或 .Q.l

flip - KDB/Q 如何转置一个表?

correlation - 从具有未对齐日期的表构建相关矩阵

java - KDB+ 不区分大小写的查询

testing - 运行 kdb 脚本的 QA 工具/框架

kdb - Q (kdb+) : Create a table with a character vector

KDB 优雅地仅选择列上具有最大值的行

sql-update - 更新符号长度小于 3 个字符的位置 KDB+/Q

kdb - Q/KDB 中的周数