2017-06-26 19 views
0

Azure Stream Analysisを使用しているときに、AVGを使用して移動平均を作成し、以下のコードのようにHoppingWindowでグループ化できます。Azureストリーム解析クエリの移動平均

ただし、これにより、過去5秒間のポイントの移動平均が作成されます。最後のn個のデータポイントの移動平均を作成する方法はありますか?私は、ウィンドウのサイズを調整してn個のポイントをウィンドウに入れることができると理解していますが、MySQLとPostgresSQLのような最後のn個のポイントを測定する方法はありますか?

SELECT System.TimeStamp AS OutTime, AVG (value) 
INTO 
[output] 
FROM [input] 
GROUP BY HoppingWindow(second,5,1) 

答えて

0

今日、ASAウィンドウは時間に基づいています。ただし、LAG関数を使用して以前のイベントを取得することはできます。

SELECT System.TimeStamp AS OutTime, 
     AvgValue= (LAG(value,1) OVER (LIMIT DURATION(minute, 5)) 
       + LAG(value,2) OVER (LIMIT DURATION(minute, 5)) 
       + LAG(value,3) OVER (LIMIT DURATION(minute, 5)) 
       )/3 
FROM input 

迷惑をおかけして申し訳ありません:あなたは3つの最新のイベントで平均を作りたい場合は、クエリのために が、それはこのようなものになります。

おかげで、

JS

+1

こんにちはJS、お返事に感謝!私はそれを実行し、私が求めたものを達成することができます。私は窓が時間に基づいているだけであることを知らなかったので、これを部分的に求めていました。今はそれが理にかなっています。 – CLD