2016-03-30 8 views
1

複数の列を持つテーブル( "ibmqt")があり、新しい列を追加したいと思います。 )が別の列(「ask」)以上であるかどうかを判定します。他の列に基づく列の追加KDB +

私の最も成功した試みはこれまでです:

ibmqt: update (pricecross:select bid>=ask from ibmqt) from ibmqt 

しかし、これは次のようになり:

time   sym bid ask bsize asize pricecross 
---------------------------------------------------- 
00:00:59.063 IBM 43.53 43.57 10000 9000 (,`ask)!,0b 
00:01:03.070 IBM 43.54 43.59 6500 3000 (,`ask)!,0b 
00:02:31.911 IBM 43.56 43.6 500 4500 (,`ask)!,0b 
00:03:43.070 IBM 43.56 43.56 10000 2500 (,`ask)!,1b 
00:06:01.170 IBM 43.54 43.56 8500 4500 (,`ask)!,0b 
00:06:11.081 IBM 43.56 43.58 500 1500 (,`ask)!,0b 
00:08:15.126 IBM 43.55 43.57 1500 9000 (,`ask)!,0b 
私はちょうど0にしたい "pricecross" 欄で明らかに

、0、0 、1,0等

何か提案がありますか?

答えて

4

ネストされた選択の必要はありません。これは何が必要でしょう。

ibmqt:update pricecross:bid>=ask from ibmqt 

それとも場所にibmqtを更新することができます。

update pricecross:bid>=ask from `ibmqt 

qはそのためbid>=ask 2つの列のペアごとに比較し、ブール値のリストを返し、配列言語です。ブール値のリストは、新しい列pricecrossに割り当てられている

1 2 3 >= 0 2 4/110b 

:これはアイデアを説明します。

関連する問題