このトピックでは、最大値検出関数を使用して、指定されたウィンドウ内の時系列データのローカル最大値を見つける方法について説明します。
ts_find_peaks
関数の形式:
* and h : nu2h05202.nu8 and m: NET | select ts_find_peaks(stamp, value, 30) from (select '("__time__" - ("__time__" % 10))' as stamp, avg(v) as value from log GROUP BY stamp order by stamp)
関数形式のパラメーターを次の表に示します。
パラメーター | 説明 | 値 |
x | タイムシーケンス。 時間内のポイントは、横軸に沿って昇順にソートされます。 | 各時点はUnixタイムスタンプです。 単位:秒。 |
y | 指定された各時点に対応する数値データのシーケンス。 | N/A |
winSize | 検出ウィンドウの最小の長さです。 | パラメーターの値は、1から時系列データの長さまでの長いデータ型です。 このパラメーターは、実際のデータ長の10分の1に設定することを推奨します。 |
例:
クエリステートメントは次のとおりです。
* and h : nu2h05202.nu8 and m: NET | select ts_find_peaks(stamp, value, 30) from (select __time__ - __time__ % 10 as stamp, avg(v) as value from log GROUP BY stamp order by stamp)
以下の図にテスト結果を示します。
表示项目一覧を次の表に示します。
表示項目 | 説明 | |
横軸 | unixtime | 時系列データのタイムスタンプ。 単位:秒。 例: 1537071480。 |
垂直軸 | src | 生データ。 例: 1956092.7647745228。 |
peak_flag | その時点の数値が最大値であるかどうかを示します。 有効な値:
|