集計の仕組みと同様に、関数選択の groupby セクションに関数を含めることはできますか?
たとえば、どのように回転しますか
select by `long$`timespan$04:00 xbar time from table
機能選択に?
1.はい、できます。関数だけが group by 句に許可/互換性がある必要があります。「xbar」は許可されています。
構文は次のとおりです。(関数;param1;parma2;...param n)
これが1つの元です。
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.「parse」を使用したクエリの機能形式は次のとおりです。
q)?[`table;();(enlist `time)!enlist ($;enlist `long;($;enlist `timespan;(xbar;04:00;`time)));()
xbar
これと同じくらい複雑なものについては、その部分を関数に入れるだけです:
?[`table;();(1#`time)!enlist({(`long$`timespan$04:00) xbar x};`time);()]