给出下表:
date acct sec qtya qtyb qtyc
----------------------------
11 1 xx 10 60 110
22 2 yy 20 70 120
33 3 zz 30 80 130
44 2 xx 40 90 140
55 3 yy 50 100 150
使用以下语句创建:
t:([]date:11 22 33 44 55;acct:1 2 3 2 3;sec:`xx`yy`zz`xx`yy;qtya:10 20 30 40 50;qtyb:60 70 80 90 100;qtyc:110 120 130 140 150)
提供一种返回数据的方法,如下所示:
date acct sec qty
-----------------
11 1 xx 10
11 1 xx 60
11 1 xx 110
22 2 yy 20
22 2 yy 70
22 2 yy 120
33 3 zz 30
33 3 zz 80
33 3 zz 130
44 2 xx 40
44 2 xx 90
44 2 xx 140
55 3 yy 50
55 3 yy 100
55 3 yy 150
可以使用以下语句创建
:q)T:([]date:11 11 11 22 22 22 33 33 33 44 44 44 55 55 55;acct:1 1 1 2 2 2 3 3 3 2 2 2 3 3 3;sec:`xx`xx`xx`yy`yy`yy`zz`zz`zz`xx`xx`xx`yy`yy`yy;qty:10 60 110 20 70 120 30 80 130 40 90 140 50 100 150)
答案 0 :(得分:2)
q)ungroup 3!select date,acct,sec,qty:(qtya,'qtyb,'qtyc) from t
date acct sec qty
-----------------
11 1 xx 10
11 1 xx 60
11 1 xx 110
22 2 yy 20
22 2 yy 70
22 2 yy 120
33 3 zz 30
33 3 zz 80
33 3 zz 130
44 2 xx 40
44 2 xx 90
44 2 xx 140
55 3 yy 50
55 3 yy 100
55 3 yy 150
答案 1 :(得分:2)
使用flip
:
q)ungroup select date , acct, sec , qty: flip (qtya;qtyb;qtyc) from t