Я хочу вести статистику, и статистика в процентах.
У меня есть запрос, который сообщает мне количество событий, поступающих из одного потока, который содержит несколько значений ['R','B','A','C']. И я хочу подсчитать, сколько B в потоке 1 в процентах.
Количество событий в потоке1
@info(name='Query 1')
from stream1
select count() as numEvents
insert into event_num;
Количество событий типа B
@info(name='Query 2')
from stream1[value == 'B']
select count() as numBs
insert into b_num;
Процентный счет:
@info(name='Query 3')
from every e1=event_num,e2=b_num
select (e2.numBs*100)/e1.numEvents as bpercent
insert into b_percent;
если есть значение, отличное от B, то запрос 3 не будет увеличивать numEvents и пересчитывать процент. Это означает, что процент Bs будет рассчитываться только в том случае, если появится B. Это не то, чего я хочу. Я хочу, чтобы процент B уменьшался, если появлялось другое значение, и увеличивался, если появлялось B.
Как я могу сделать Query3 таким образом, чтобы event_num или v_num получали новое событие, вычисляя процент?