0
我有一個表,如:KDB/Q更新密鑰表元素的列表元素
q)tbl[`XXX]
1977 1987 1997
,我想更新從多年的列表中第n個元素,因此上述變成
q)tbl[`XXX]
1997 1987 2007
而且需要它到位? 一直在尋找文檔,但很難搞清楚。
我有一個表,如:KDB/Q更新密鑰表元素的列表元素
q)tbl[`XXX]
1977 1987 1997
,我想更新從多年的列表中第n個元素,因此上述變成
q)tbl[`XXX]
1997 1987 2007
而且需要它到位? 一直在尋找文檔,但很難搞清楚。
您可以將該表視爲翻轉的字典。 做一個字典更新,指數在關鍵的第一:
q)tbl:([]XXX:1977 1987 1997)
q)dict:flip tbl
q)dict[`XXX;n]:2007
q)dict
XXX| 1977 1987 2007
因此做一個就地更新桌子上使用的語法如下:Jamies答案
q)tbl:([]XXX:1977 1987 1997)
q)tbl[`XXX]
1977 1987 1997
q)tbl[n;`XXX]:2007
q)tbl[`XXX]
1977 1987 2007
QSQL版本:
q)update XXX:2007 from `tbl where i=n
這也將允許您使用其中根據表中的其他列第
這樣做,謝謝。 –
我有一個後續問題:現在,更新被保存在內存中。但是,如果我想要在重新啓動kdb後繼續進行更改,那麼要做什麼?盡我所知,我們需要能夠將更改保存到磁盤! –
有許多方法可以將表格保存下來。 – jomahony