2016-04-19 9 views
0

私はesperを使用しています。 esper eplについてよくわからないので、困っています。esper epl divideセクションの作成方法と値の比較

問題はこれです。

ユーザーは値セクションを定義します。

For Example, 

Level1 : 1~3 
Level2 : 4~6 
Level3 : 7~9 

データが最初に来るときは、セクションとイベントを確認してください。 以前の値と新しい値が同じレベルの場合は何もしない(ex. prev value=1, next value=2 These are in same Level1)

つまり、データが来たら、以前の値とレベルを確認します。 レベルが異なる場合は、何かしてください。

Esper Eplはこれを行うことができますか?どうしたらいいですか?

答えて

0

"先行"と "前回"の両方は、特定のイベントの前にイベントへのアクセス権を与えます。 SQL標準の "case then then"は、SQL標準のif-then-elseです。 あなたはこのような何か行うことができます:

insert into CategorizedStream select 
case when value between 1 and 3 then 1 
    when value between 4 and 6 then 2 
    when value > 6 then 3 
end as level from SomeEvent; 

select * from CategorizedStream(prior(level) != level); 

を一つは、おそらく前に、ケース-とき1つのEPL文でこれを行うために使用することができますが、私はそれは二つの文を使用して、読みやすくなったと思います。

+0

ありがとうございました!私はあなたの答えの道を支配しました! – masa

関連する問題