无法访问kdb表列的值

时间:2018-07-05 14:03:26

标签: kdb

我是KDB的新手,无法理解为什么我可以访问表股票的订单列,但不能访问交易者。以下是我的错误代码。

q)trader
item     brand | price order
---------------| -----------
soda     fry   | 1.5   200
bacon    prok  | 1.99  180
mushroom veggie| 0.88  110
eggs     veggie| 1.55  210
tomatoes veggie| 1.35  100
q)trader.order
'order
  [0]  trader.order
       ^
q)stock.order
50 82 45 92
q)stock
item     brand  price order
---------------------------
soda     fry    1.5   50
bacon    prok   1.99  82
mushroom veggie 0.88  45
eggs     veggie 1.55  92
q)trader.order
'order
  [0]  trader.order
       ^

1 个答案:

答案 0 :(得分:4)

您的表trader被键入了密钥,您不能使用trader.order选择订单列。

如果需要,可以改用

(0!trader)`order

原因是因为当您执行trader.order时,实际上是在使用索引。就像您要进行list.index一样。表只是字典列表,您可以使用dot(.)对其进行索引。但是,键控表的结构不同,因此您必须先将其取消键控。