Kolom saya saat ini di KDB adalah (waktu; beli; jual). Apa yang harus saya lakukan untuk mengubah nama kolom saya menjadi (time_hist; buy_hist; sell_hist)? Terima kasih!

kdb q
0
Alison Park 5 April 2021, 18:36

2 jawaban

Jawaban Terbaik

Ekspresi berikut akan menambahkan "_hist" ke semua nama kolom

(`$(string cols t),\:"_hist") xcol t

Dimana t adalah tabel.

  1. string cols t - mengambil semua nama kolom dan mengubahnya menjadi string
  2. (string cols t),\:"_hist" menambahkan "_hist" untuk setiap nama kolom di sebelah kiri
  3. colnames xcol t Rahkan nama kolom tabel. Lihat XCOL untuk lebih jelasnya
1
Anton Dovzhenko 5 April 2021, 15:58

Anda dapat menggunakan xcol untuk mengganti nama kolom di KDB:

q)tab:([] Time:(.z.t-10;.z.t-5;.z.t);Buy:23 35 42;Sell:22 33 40)
q)tab
Time         Buy Sell
---------------------
15:51:50.746 23  22  
15:51:50.751 35  33  
15:51:50.756 42  40  
q)`Time_hist`Buy_hist`Sell_hist xcol tab
Time_hist    Buy_hist Sell_hist
-------------------------------
15:51:50.746 23       22       
15:51:50.751 35       33       
15:51:50.756 42       40

Lebih banyak dokumentasi dapat ditemukan di: https://code.kx.com/q/ref/cols/

1
BMullan 5 April 2021, 15:53