# 윈도우 함수 목록

## Content

윈도우 함수는 현재 행과 관련된 일련의 행(슬라이딩 윈도 프레임)에 기반하여 결과를 계산합니다.
이를 통해 집계 값과 비집계 값을 **동시에** 다룰 수 있습니다.

## 집계 함수

SpreadJS는 다양한 집계 함수들을 제공합니다. 자세한 내용은 [수식 종류](/spreadjs/docs/v19/formulareference/FormulaFunctions) 섹션을 참고하시기 바랍니다.

>type=warning
> **참고:** 집계 함수는 `ORDERBY`를 필요로 하지 않지만, **윈도우 프레임 정의**는 허용합니다.

## 순위 함수

SpreadJS가 제공하는 순위 함수는 다음과 같으며, **알파벳 순**으로 정렬되어 있습니다:

| **함수명** | **설명** |
| --- | --- |
| [CUMEDIST](/spreadjs/docs/v19/features/tablesheet/window-functions/window-functions-list/cumedist) | 누적 분포 값을 반환합니다. |
| [DENSERANK](/spreadjs/docs/v19/features/tablesheet/window-functions/window-functions-list/denserank) | 현재 행의 파티션 내 순위를 **빈칸 없이** 반환합니다. |
| [ROWNUMBER](/spreadjs/docs/v19/features/tablesheet/window-functions/window-functions-list/rownumber) | 파티션 내 현재 행의 **행 번호**를 반환합니다. |
| [W_PERCENTRANK](/spreadjs/docs/v19/features/tablesheet/window-functions/window-functions-list/wpercentrank) | 순위의 백분율 값을 반환합니다. |
| [W_RANK](/spreadjs/docs/v19/features/tablesheet/window-functions/window-functions-list/wrank) | 현재 행의 파티션 내 순위를 **빈칸을 포함해** 반환합니다. |

## 분석 함수

SpreadJS가 제공하는 분석 함수는 다음과 같으며, **알파벳 순**으로 정렬되어 있습니다:

| **함수** | **설명** |
| --- | --- |
| [FIRSTVALUE](/spreadjs/docs/v19/features/tablesheet/window-functions/window-functions-list/firstvalue) | 윈도우 프레임의 **첫 번째 행**에서 지정된 인수 값을 반환합니다. |
| [LAG](/spreadjs/docs/v19/features/tablesheet/window-functions/window-functions-list/lag) | 현재 행 기준으로 **앞에 있는 행**에서 값을 가져옵니다. |
| [LASTVALUE](/spreadjs/docs/v19/features/tablesheet/window-functions/window-functions-list/lastvalue) | 윈도우 프레임의 **마지막 행**에서 지정된 인수 값을 반환합니다. |
| [LEAD](/spreadjs/docs/v19/features/tablesheet/window-functions/window-functions-list/lead) | 현재 행 기준으로 **뒤에 있는 행**에서 값을 가져옵니다. |
| [NTHVALUE](/spreadjs/docs/v19/features/tablesheet/window-functions/window-functions-list/nthvalue) | 윈도우 프레임 내 **n번째 행**의 값을 반환합니다. |
| [NTILE](/spreadjs/docs/v19/features/tablesheet/window-functions/window-functions-list/ntile) | 파티션을 N개의 **버킷**으로 나누고, 현재 행의 **버킷 번호**를 반환합니다.. |

## 제한 사항

윈도우 함수는 계산 복잡도와 데이터 양에 따라 **비용이 점차 증가**할 수 있습니다.