1

是否可以在功能选择的 groupby 部分中包含一个函数,类似于聚合的工作方式?

例如,我将如何转

select by `long$`timespan$04:00 xbar time from table

进入功能选择?

4

2 回答 2

2

1.是的,你可以,只是功能应该被允许/兼容到 group by 子句。'xbar' 是允许的。

语法是:(function;param1;parma2;...param n)

这是一个前任。

          q)t:([]id:til 20;v:til 20)
          q)select by 5 xbar id from t
          q) // functional form
          q)?[`t;();(enlist `id)!enlist (xbar;5;`id);()]

2.获取简单查询函数形式的技巧: 使用'parse'函数:

           q) parse "select id from t"

输出是函数形式:

           q)(?;`t;,(),0b,(,`id)!,`id)

用它来制作函数形式:

           q) ?[`t;();0b;(enlist `id)!enlist `id]

3.使用“解析”的查询的功能形式是:

q)?[`table;();(enlist `time)!enlist ($;enlist `long;($;enlist `timespan;(xbar;04:00;`time)));()
于 2015-02-06T20:12:58.287 回答
1

对于像这样复杂的事情,我只是将xbar部分放入一个函数中:

?[`table;();(1#`time)!enlist({(`long$`timespan$04:00) xbar x};`time);()]
于 2015-02-09T09:26:36.847 回答