#kdb
#kdb
Вопрос:
Я знаю, что могу select by sym, time.second from table
выбирать по секундам или использовать xbar
для некоторых других фиксированных временных интервалов
Но это более или менее однородные временные интервалы. Как мне предоставить полностью настроенный список времени в select by?
Ответ №1:
вы могли бы использовать binr для достижения этой цели
q)tab:([]t:.z.d 10000?.z.n)
q)/ create custom bins ensuring in ascending time order for binr to work correctly
q)tl:.z.d 09:30 10:45 15:32
q)/ x binr y - will return the index of first item in x which is ≥y
q)/ we then index back into our tl with result
q)select count i by tl tl binr t from tab
t | x
-----------------------------| --
2019.03.31D09:30:00.000000000| 6443
2019.03.31D10:45:00.000000000| 807
2019.03.31D15:32:00.000000000| 2750
Комментарии:
1. Обратите внимание, что bin использует двоичный поиск, который предполагает, что список времени отсортирован и не даст ожидаемых результатов, если это не так. Попробуйте добавить 12:00 в конец
tl
, например