Диапазон дат для обратной засыпки между двумя датами в q kdb - PullRequest
1 голос
/ 03 июня 2019

Я хочу выполнить обратную засыпку с определенной даты до самой последней даты (скажем, в последний рабочий день).
Учитывая, что у меня всего 671 раздел

count .Q.pv / 671j

И нам необходимо выполнить обратную засыпку за последние 10 дней

{//backfill function; 0n!x}@'660 11 sublist .Q.pv

Есть ли какой-либо другой / лучший способ предоставить даты разделов для функции обратной засыпки, кроме использования подсписка.

Ответы [ 2 ]

2 голосов
/ 03 июня 2019

Вы можете использовать -10#date, чтобы получить последние 10 дат в своем hdb.

Еще одним "более безопасным" вариантом будет использование подсписка, так как это будет работать в случае, если у вас меньше 10 дат в вашемhdb: -10 sublist date

1 голос
/ 03 июня 2019

Чтобы перечислить все даты между двумя датами, вы можете использовать следующую формулу:

q)daterange:{[date1;date2] 1+date1+til date2-date1}
q)daterange[2019.05.29;2019.06.03]
2019.05.30 2019.05.31 2019.06.01 2019.06.02 2019.06.03

Это будет увеличиваться с даты1 до тех дней, сколько существует между датой1 и датой2.

Надеюсь, это поможет

...