> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-fix-nav-issues.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> 入力データに Largest-Triangle-Three-Buckets アルゴリズムを適用します。

# largestTriangleThreeBuckets

<div id="largestTriangleThreeBuckets">
  ## largestTriangleThreeBuckets
</div>

導入バージョン: v23.10.0

入力データに [Largest-Triangle-Three-Buckets](https://skemman.is/bitstream/1946/15343/3/SS_MSthesis.pdf) アルゴリズムを適用します。
このアルゴリズムは、可視化のために時系列データをダウンサンプリングする際に使用されます。
x 座標でソートされた系列に対して動作するよう設計されています。
ソート済みの系列をバケットに分割し、各バケット内で最も大きい三角形を見つけることで機能します。
バケット数は、結果として得られる系列の点の数と同じです。
この関数は、まずデータを `x` でソートしてから、そのソート済みデータにダウンサンプリングアルゴリズムを適用します。

指定された系列内の NaN は無視されるため、NaN 値は分析から除外されます。
これにより、この関数は有効な数値データに対してのみ動作します。

**構文**

```sql theme={null}
largestTriangleThreeBuckets(n)(x, y)
```

**別名**: `lttb`

**パラメータ**

* `n` — 結果の系列に含まれる点の数。[`UInt64`](/ja/reference/data-types/int-uint)

**引数**

* `x` — x座標。[`(U)Int*`](/ja/reference/data-types/int-uint) または [`Float*`](/ja/reference/data-types/float) または [`Decimal`](/ja/reference/data-types/decimal) または [`Date`](/ja/reference/data-types/date) または [`Date32`](/ja/reference/data-types/date32) または [`DateTime`](/ja/reference/data-types/datetime) または [`DateTime64`](/ja/reference/data-types/datetime64)
* `y` — y座標。[`(U)Int*`](/ja/reference/data-types/int-uint) または [`Float*`](/ja/reference/data-types/float) または [`Decimal`](/ja/reference/data-types/decimal) または [`Date`](/ja/reference/data-types/date) または [`Date32`](/ja/reference/data-types/date32) または [`DateTime`](/ja/reference/data-types/datetime) または [`DateTime64`](/ja/reference/data-types/datetime64)

**戻り値**

2 つの要素を持つタプルの配列を返します。[`Array(Tuple(Float64, Float64))`](/ja/reference/data-types/array)

**例**

**時系列データのダウンサンプリング**

```sql title=Query theme={null}
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;
```

```response title=Response theme={null}
┌────────largestTriangleThreeBuckets(4)(x, y)───────────┐
│           [(1,10),(3,15),(9,55),(10,70)]              │
└───────────────────────────────────────────────────────┘
```
