У меня есть таблица сделок, состоящая из даты, времени, символа, объема, объема аукциона на закрытие.
К сожалению, объем аукциона на закрытие включается в последнюю ячейку таблицы, и усложнить ситуацию может либопроисходят в 15:59:00 или в 12:59:00 в течение половины дня.
Есть ли способ условно обновить том, чтобы удалить закрывающий том?
например, удалить его из тома 15: 59: 00, если он существует, в противном случае удалить его из тома 12: 59: 00.
Например,
t:([]date:2019.02.01 2019.02.01 2019.02.02 2019.02.02;time:12:59:00 15:59:00 12:59:00 15:59:00;sym:`AAPL`AAPL`AAPL`AAPL;volume:100 25000 26000 0; closingvol: 24000 24000 21000 21000)
**date**|**time**|**sym**|**volume**|**closingvol**
:-----:|:-----:|:-----:|:-----:|:-----:
2019-02-01|12:59:00|AAPL|100|24000
2019-02-01|15:59:00|AAPL|25000|24000
2019-02-02|12:59:00|AAPL|26000|21000
2019-02-02|15:59:00|AAPL|0|21000
Я быхотелось бы быть
**date**|**time**|**sym**|**volume**|**closingvol**
:-----:|:-----:|:-----:|:-----:|:-----:
2019-02-01|12:59:00|AAPL|100|24000
2019-02-01|15:59:00|AAPL|1000|24000
2019-02-02|12:59:00|AAPL|5000|21000
2019-02-02|15:59:00|AAPL|0|21000
Я надеялся, что смогу сойти с нижеследующего, но «или», по-видимому, не ведет себя так, как я надеялся, что это произойдет, поскольку он никогда не изменяет второе 12:59:00запись.
update volume:volume-closingvol from t where (time=15:59:00 | time=12:59:00), volume>=closingvol
**date**|**time**|**sym**|**volume**|**closingvol**
:-----:|:-----:|:-----:|:-----:|:-----:
2019-02-01|12:59:00|AAPL|100|24000
2019-02-01|15:59:00|AAPL|1000|24000
2019-02-02|12:59:00|AAPL|26000|21000
2019-02-02|15:59:00|AAPL|0|21000
** ОБНОВЛЕНИЕ 1 **
Как и предполагалось, я также попытался:
обновить том: объем-закрытие от t где (время = 15: 59: 00) | время = 12: 59: 00, объем> = значение закрытия
Например, как показано ниже, ВСЕ тома обновляются.Я ожидал, что в 2019.02.01 будут обновлены только 15:59:00 для AAPL и 12:59:00 для BAC, а в 2019.02.02 только 15:59:00 для BAC и 12:59:00 для AAPL, но это изменило все экземпляры 12:59:00 и 15: 59: 00.
t:([]date:2019.02.01 2019.02.01 2019.02.02 2019.02.02 2019.02.02 2019.02.02 2019.02.01 2019.02.01;time:12:59:00 15:59:00 12:59:00 15:59:00 12:59:00 15:59:00 12:59:00 15:59:00;sym:`AAPL`AAPL`AAPL`AAPL`BAC`BAC`BAC`BAC;volume:100 25000 26000 0 20000 12000 13000 0; closingvol: 24000 24000 21000 21000 11000 11000 12000 12000)
t:`date`time xasc t
update volume:volume-closingvol from t where (time=15:59:00)|(time=12:59:00), volume>=closingvol
**date**|**time**|**sym**|**volume**|**closingvol**
:-----:|:-----:|:-----:|:-----:|:-----:
2019-02-01|12:59:00|AAPL|100|24000
2019-02-01|12:59:00|BAC|1000|12000
2019-02-01|15:59:00|AAPL|1000|24000
2019-02-01|15:59:00|BAC|0|12000
2019-02-02|12:59:00|AAPL|5000|21000
2019-02-02|12:59:00|BAC|9000|11000
2019-02-02|15:59:00|AAPL|0|21000
2019-02-02|15:59:00|BAC|1000|11000