時系列関数
以下の関数は、timeSeries*() 集計関数と一緒に使用するために設計されています。例えば
timeSeriesInstantRateToGrid、
timeSeriesLastToGrid などです。
timeSeriesRange
タイムスタンプの範囲を生成します。
構文
引数
start_timestamp- 範囲の開始。end_timestamp- 範囲の終了。step- 範囲のステップ(秒単位)。
返される値
- タイムスタンプの範囲
[start_timestamp, start_timestamp + step, start_timestamp + 2 * step, ..., end_timestamp]を返します。
例
クエリ:
結果:
注意事項
start_timestampがend_timestampに等しい場合、関数timeSeriesRange()はそのタイムスタンプを含む1要素の配列を返します:[start_timestamp]- 関数
timeSeriesRange()は、関数 range に似ています。 例えば、タイムスタンプの型がDateTime64(3)でstart_timestamp < end_timestampの場合、timeSeriesRange(start_timestamp, end_timestamp, step)は次の式と同じ結果を返します:
timeSeriesFromGrid
値の配列 [value1, value2, value3, ..., valueN] をタプルの配列 [(start_timestamp, value1), (start_timestamp + step, value2), (start_timestamp + 2 * step, value3), ..., (end_timestamp, valueN)] に変換します。
もし値のいくつか [value1, value2, value3, ...] が NULL の場合、関数はそのNULL値を結果の配列にコピーしませんが、現在のタイムスタンプは増加し続けます。例えば [value1, NULL, value2] の場合、関数は [(start_timestamp, value1), (start_timestamp + 2 * step, value2)] を返します。
現在のタイムスタンプは、end_timestamp より大きくなるまで step だけ増加し、各タイムスタンプは指定された値の配列からの値と組み合わされます。もし値の数がタイムスタンプの数と一致しない場合、関数は例外をスローします。
構文
引数
start_timestamp- グリッドの開始。end_timestamp- グリッドの終了。step- グリッドのステップ(秒単位)。values- 値の配列[value1, value2, ..., valueN]。
返される値
start_timestampとstepによって定義された定期的な時間グリッド上のタイムスタンプと結合されたソースの値の配列を返します。
例
クエリ:
結果:
注意
関数 timeSeriesFromGrid(start_timestamp, end_timestamp, step, values) は次の式と同じ結果を返します: