如何解决解析基于vars的值构建的树
我们可以按kdb +中的几列进行分组:
q)t:([]a:1 1 3;b:1 1 4;c:7 8 9);
q)select sum c by grp:([]a;b) from t
grp | c
--------| --
`a`b!1 1| 15
`a`b!3 4| 9
q)gcols:`a`b
但是如果要分组的期望列在变量gcols
中,该如何使用函数形式(如何构建正确的解析树)做同样的事情?
解决方法
更常规的分组依据是:
q)select sum c by a,b from t
a b| c
---| --
1 1| 15
3 4| 9
其功能形式为
q)?[t;();{x!x}gcols;(1#`c)!enlist(sum;`c)]
a b| c
---| --
1 1| 15
3 4| 9
您的分组样式的功能形式为:
q)?[t;();(1#`grp)!enlist(flip;(!;enlist gcols;enlist,gcols));(1#`c)!enlist(sum;`c)]
grp | c
--------| --
`a`b!1 1| 15
`a`b!3 4| 9
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。