例如挑选出从事件的连续的值的值,即数据:我怎样才能使用神功
1,1470732420000,0
2,1470732421000,0
3,1470732422000,0
4,1470732423000,86
5,1470732424000,87
6,1470732425000,88
7,1470732426000,84
8,1470732427000,0
9,1470732428000,0
10,1470732429000,0
11,1470732430000,89
12,1470732431000,89
13,1470732432000,87
14,1470732433000,89
15,1470732434000,85
16,1470732435000,89
17,1470732436000,89
18,1470732437000,87
19,1470732438000,86
20,1470732439000,88
21,1470732440000,0
22,1470732441000,0
23,1470732442000,0
24,1470732443000,87
25,1470732444000,85
26,1470732445000,86
27,1470732446000,0
28,1470732447000,0
29,1470732448000,0
30,1470732449000,0
列中的一个是ID,柱2是时间戳,列三是值,时间戳之间的间隔为1秒。我想要监视事件的值,如果我发现值> = 85(例如id = 4),我将开始计数,如果下两个连续值> = 85(例如id = 5/id = 6) ),然后我将第三个值的事件OutputStream。(例如id = 6,值= 88,时间戳= 1470732425000)
在同一时间我清除计数和等待值低于85(例如ID = 7,value = 84),然后我会再次监测,当我发现值大于等于85(例如id = 11,值= 89)时,我将开始计数,如果接下来的两个连续值> = 85(例如id = 12 (id = 13,value = 87,timestamp = 1470732432000)...
这一切都是我想要做的,befo我重新张贴此问,我有在this post一个答案,我试过这段代码:
from every a1=InputStream[value>=85], a2=InputStream[value>=85]+, a3=InputStream[value<85]
select a2[1].id, a2[1].value
having (not (a2[1] is null))
insert into OutPutStream;
和它的作品,但我发现它的价值后该值插入的OutputStream < = 85 ,我想要的是如果我有三个连续值> = 85然后我插入到值立即(我不想等待,如果下一个值> = 85所有时间) 其实,我只是想录制三秒钟内连续三秒钟的值(> = 85)。 我正在使用wso2das-3.1.0-SNAPSHOT。
你想每次监测3个连续的事件吗?或者这会有所不同吗? –
查询取决于你想从中得到什么样的输出。你能否指定你想要得到的答案?无论您是想要将ID 6,13和26作为输出(由于您指定的值为<85的中间事件)或其他内容。 –