Fusion 시계열 함수
ts. 네임스페이스로 시계열을 불러오고 값이나 스파크라인을 표시하며 변환과 집계를 수행할 수 있습니다.
시계열 로드
ts.timeseries(seriesId: string): any
지정한 시리즈 ID의 시계열을 반환합니다. 실제 시리즈 ID를 A1에 입력했다면 다음 수식으로 불러옵니다.
=ts.timeseries(A1)
시간 범위 제한
ts.time_range(timeSeries: any, startTime: any, endTime: any): any
ts.last(timeSeries: any, timeAmount: number, timeUnit: string): any
time_range는 시작과 끝으로 지정한 시간 범위를 선택합니다. last는 마지막 부분에서 지정한 길이만 남깁니다.
last가 받는 단위는 다음과 같습니다.
| 단위 | 짧은 표기 |
|---|---|
| hours | h |
| minutes | m |
| seconds | s |
| microseconds | us |
| nanoseconds | ns |
실제 시리즈 ID가 A1에 있는 예시에서 최근 24시간을 선택하고 평균을 구합니다.
=ts.mean(ts.last(ts.timeseries(A1), 24, 'hours'))
점 수와 값 집계
아래 함수는 timeSeries 입력 하나를 받습니다.
| 서명 | 반환 의미 |
|---|---|
ts.count(timeSeries: any): number | 시계열의 점 개수 |
ts.max(timeSeries: any): number | 전체 시계열의 최댓값 |
ts.min(timeSeries: any): number | 전체 시계열의 최솟값 |
ts.mean(timeSeries: any): number | 전체 시계열의 평균 |
ts.stddev(timeSeries: any): number | 전체 시계열의 표준편차 |
ts.difference(timeSeries: any): number | 첫 값과 마지막 값의 차이 |
특정 기간만 집계하려면 먼저 time_range 또는 last로 입력 범위를 제한합니다.
첫 점과 마지막 점
| 서명 | 반환 의미 |
|---|---|
ts.first_timestamp(timeSeries: any): time | 첫 점의 timestamp |
ts.last_timestamp(timeSeries: any): time | 마지막 점의 timestamp |
ts.first_value(timeSeries: any): any | 첫 점의 값 |
ts.last_value(timeSeries: any): any | 마지막 점의 값 |
값의 배율과 이동
ts.scale(timeSeries: any, scale: number): any
ts.shift(timeSeries: any, shift: number): any
원래 점을 (t, v)라고 하면 scale에 x를 지정한 결과는 (t, v*x)입니다. shift에 x를 지정한 결과는 (t, v+x)입니다. 두 함수 모두 관측값을 바꾸며 timestamp를 이동하지 않습니다.
미분
ts.derivative(timeSeries: any): any
초 단위를 기준으로 시계열을 미분합니다.
적분
ts.integral(timeSeries: any, method: string): any
각 관측점까지 곡선 아래에 누적된 면적을 계산합니다.
| method | 방식 |
|---|---|
| linear | 사다리꼴 근사 |
| lhs | 왼쪽 리만 합 |
| lhr | 오른쪽 리만 합 |
다음 예시는 linear 방법을 사용합니다. A1에는 실제 시리즈 ID를 입력합니다.
=ts.integral(ts.timeseries(A1), 'linear')