将KDB表转换为特殊格式的字典

将KDB表转换为特殊格式的字典,kdb,qsqlquery,qsqlquerymodel,Kdb,Qsqlquery,Qsqlquerymodel,我是KDB/Q新手,我的表只有两列,如下所示: id value 100 a 101 b 100 c 102 d 103 e 100 f 102 g 101 e 我需要将此表转换为字典组的形式,按id转换为如下格式 id | x1 x2 x3 x4 x5 x6 x7 x8 100 | a :: c :: :: f :: :: 101 | ::

我是KDB/Q新手,我的表只有两列,如下所示:

id      value
100       a
101       b
100       c
102       d
103       e
100       f
102       g
101       e
我需要将此表转换为字典组的形式,按id转换为如下格式

id  | x1   x2  x3  x4  x5  x6  x7  x8 
100 | a    ::  c   ::  ::   f  ::  ::
101 | ::   b  ::   ::  ::   :: ::  e
102 | ::  ::  ::   d   ::   ::  g  ::  
103 | ::  ::  ::   ::   e   f  ::  ::
我尝试了by,但它只给我分组id,无法像键控表或字典那样进行转换


有人能帮我做同样的事吗。列名称x1、x2等并不重要

听起来像是你想要改变方向:


这听起来像是你想要改变方向:


想一想也许你在找一个桌边的执行官


想一想也许你在找一个桌边的执行官


您好,谢谢您的上述查询,它将分组并返回值列表,但我需要类似列的内容,而不是列表,可以吗?id x1x2x3x4x5x6x7x8100 | a:::c:::f:::101 |:::b:::::::::::e 102 |::::::::d:::g::103 |:::::::@emc211你能帮我一下吗?`$x,/:字符串直到t!/:exec{@[count[t]:;x;:;y]}[i;val]by id:id来自tHi,感谢您的上述查询,它将分组并返回值列表,但我需要类似于列的内容而不是列表,可以吗?id x1x2x3x4x5x6x7x8100 | a:::c:::f:::101 |:::b:::::::::::e 102 |::::::::d:::g::103 |:::::::@emc211你能帮我一下吗?`$x,/:字符串直到t!/:执行{@[count[t]:;x;:;y]}[i;val]的id:id来自t
q)t:([]id:100 101 100 102 103 100 102 101;val:`a`b`c`d`e`f`g`e)
q)exec distinct[t`val]#val!val by id:id from t
id | a b c d e f g
---| -------------
100| a   c     f
101|   b     e
102|       d     g
103|         e
q)t:([]id:100 101 100 102 103 100 102 101;val:`a`b`c`d`e`f`g`e)
q)exec val by id from t
100| `a`c`f
101| `b`e
102| `d`g
103| ,`e
q)// if you need the (::)
q)exec {@[count[t]#(::);x;:;y]}[i;val] by id from t
100| `a :: `c :: :: `f :: ::
101| :: `b :: :: :: :: :: `e
102| :: :: :: `d :: :: `g ::
103| :: :: :: :: `e :: :: ::