largestTriangleThreeBuckets
largestTriangleThreeBuckets
입력 데이터에 Largest-Triangle-Three-Buckets(LTTB) 알고리즘을 적용하는 집계 함수예요. 시각화를 위해 시계열 데이터를 다운샘플링하는 데 사용돼요. v23.10.0부터 도입되었어요.
출처: 문서
본문
입력 데이터에 Largest-Triangle-Three-Buckets 알고리즘을 적용해요. 이 알고리즘은 시각화를 위해 시계열 데이터를 다운샘플링하는 데 사용돼요. x 좌표 기준으로 정렬된 수열에서 동작하도록 설계되었어요. 정렬된 수열을 버킷으로 나눈 다음 각 버킷에서 가장 큰 삼각형을 찾는 방식으로 동작해요. 버킷 수는 결과 수열의 점 수와 같아요. 이 함수는 데이터를 x로 정렬한 다음 정렬된 데이터에 다운샘플링 알고리즘을 적용해요.
주어진 수열의 NaN은 무시돼요. 즉 어떤 NaN 값이든 분석에서 제외된다는 뜻이에요. 이렇게 해서 함수가 유효한 숫자 데이터에만 동작하도록 보장해요.
구문 (Syntax)
largestTriangleThreeBuckets(n)(x, y)
별칭(Aliases): lttb
파라미터 (Parameters)
n— 결과 수열의 점 수예요.UInt64
인자 (Arguments)
x— x 좌표예요.(U)Int*또는Float*또는Decimal또는Date또는Date32또는DateTime또는DateTime64y— y 좌표예요.(U)Int*또는Float*또는Decimal또는Date또는Date32또는DateTime또는DateTime64
반환 값 (Returned value)
두 요소를 가진 튜플들의 배열을 반환해요. Array(Tuple(Float64, Float64))
예시 (Examples)
시계열 데이터 다운샘플링:
CREATE TABLE largestTriangleThreeBuckets_test (x Float64, y Float64) ENGINE = Memory;
INSERT INTO largestTriangleThreeBuckets_test VALUES
(1.0, 10.0), (2.0, 20.0), (3.0, 15.0), (8.0, 60.0), (9.0, 55.0),
(10.0, 70.0), (4.0, 30.0), (5.0, 40.0), (6.0, 35.0), (7.0, 50.0);
SELECT largestTriangleThreeBuckets(4)(x, y) FROM largestTriangleThreeBuckets_test;
결과:
┌─largestTriangleThreeBuckets(4)(x, y)─┐
│ [(1,10),(3,15),(9,55),(10,70)] │
└──────────────────────────────────────┘