嘿!我的 esper 代码有一个小问题。输入是这样的:
t=t.plus(1 seconds)
CondiA ={varible ='Temp', value =1}
t=t.plus(1 seconds)
CondiA ={varible ='Press', value =1}
t=t.plus(1 seconds)
CondiA ={varible ='Speed', value =1}
t=t.plus(1 seconds)
CondiA ={varible ='Temp', value =2}
t=t.plus(1 seconds)
CondiA ={varible ='Press', value =2}
t=t.plus(1 seconds)
CondiA ={varible ='Speed', value =2}
t=t.plus(1 seconds)
CondiA ={varible ='Press', value =1}
t=t.plus(1 seconds)
CondiA ={varible ='Press', value =1}
t=t.plus(1 seconds)
CondiA ={varible ='Temp', value =3}
t=t.plus(1 seconds)
CondiA ={varible ='Press', value =1}
我有一种类型的事件,它有一个变量名和一个值。我想检测一个特定变量的值的变化。所以我需要一个选择语句,它为我提供数据:
- 秒 4(温度从 1->2 变化)
- 秒 5(按从 1->2 更改)
- 秒 6(速度从 1->2 更改)
- 第二个 7(按从 2->1 更改)
- 秒 9(温度从 2->3 更改)
我尝试了不同的东西,prior
但prev
没有任何效果。这是我做的最合理的一个,但它并没有给我我想要的结果。我用一种模式进行了尝试,但是使用@SuppressOverlappingMatches 导致内存过载。
select value as x from CondiA#unique(varible) as A where prior(1, A.value) != A.value AND varible = (select varible from CondiA()#lastevent);