Переменная sym
(т. Е. Столбец sym
) не находится в контексте (как это обычно бывает в операторе выбора), поскольку вы передаете ее извне оператора выбора. Итак, здесь вы просто передаете переменную символьного типа с содержимым «sym» (отсюда и ошибка длины). Следующие работы, проходящие в столбце t[`sym]
:
{select from t where px=(min;px) fby x}[t`sym]
Если вы планируете группировать по различным столбцам, вы можете захотеть использовать функциональный select . например,
?[t;enlist (=;`px;(fby;(enlist;min;`px);`sym));0b;()]
sym mkt px
-----------------
MSFT m2 17.80839
AMZN m1 30.17723
IBM m2 41.1597
Или передача имени столбца в функцию:
{?[t;enlist (=;`px;(fby;(enlist;min;`px);x));0b;()]}`sym