largestTriangleThreeBuckets
Introduzido em: v23.10.0
Aplica o algoritmo Largest-Triangle-Three-Buckets aos dados de entrada.
O algoritmo é usado para fazer a subamostragem de séries temporais para visualização.
Ele foi projetado para operar sobre séries ordenadas pela coordenada x.
Ele funciona dividindo a série ordenada em buckets e, em seguida, encontrando o maior triângulo em cada bucket.
O número de buckets é igual ao número de pontos na série resultante.
A função ordenará os dados por x e, em seguida, aplicará o algoritmo de subamostragem aos dados ordenados.
Os NaNs são ignorados na série fornecida, o que significa que quaisquer valores NaN serão excluídos da análise. Isso garante que a função opere apenas sobre dados numéricos válidos.
Sintaxe
largestTriangleThreeBuckets(n)(x, y)Aliases: lttb
Parâmetros
n— Número de pontos na série resultante.UInt64
Argumentos
x— coordenada x.(U)Int*ouFloat*ouDecimalouDateouDate32ouDateTimeouDateTime64y— coordenada y.(U)Int*ouFloat*ouDecimalouDateouDate32ouDateTimeouDateTime64
Valor retornado
Retorna um array de tuplas com dois elementos. Array(Tuple(Float64, Float64))
Exemplos
Redução de amostragem de dados de séries temporais
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)] │
└──────────────────────────────────────┘