# WRank - 스크립트 함수

WRank()는 로드 스크립트에서 테이블 행을 평가하고 각 행에 대해 로드 스크립트에서 평가된 필드 값의 상대적 위치를 표시합니다. 테이블을 평가할 때 함수는 결과를 현재 파티션이 포함된 다른 행의 결과와 비교하고 세그먼트 내 현재 행의 순위를 반환합니다.

테이블의 파티션

테이블의 파티션

테이블의 파티션 ![열 세그먼트를 보여 주는 테이블](https://help.qlik.com/ko-KR/sense/November2025/Subsystems/Hub/Content/Resources/Images/table_column_segments.png)

WRank는 Window 함수에서만 사용할 수 있습니다. Window 함수에는 정렬 유형과 정렬 표현식이 포함되어야 합니다. 순위는 정렬 표현식에 적용됩니다.

구문:

WRank ([mode[, fmt]])

반환 데이터 유형: 이중

인수:

인수

| 인수 | 설명 |
| --- | --- |
| mode | 선택적으로 함수 결과의 숫자 표현을 지정합니다. |
| fmt | 선택적으로 함수 결과의 텍스트 표현을 지정합니다. |

순위는 이중 값으로 반환되며, 각 행은 1과 현재 파티션의 행 수 사이의 정수인 고유 순위를 갖습니다.

여러 행이 동일한 순위를 공유할 경우 mode 및 fmt 매개 변수를 사용하여 텍스트 및 숫자 표현을 제어할 수 있습니다.

###### mode

첫 번째 인수인 mode는 다음 값을 사용할 수 있습니다.

modemode 값

| 값 | 설명 |
| --- | --- |
| 0(기본값) | 공유 그룹 내의 모든 순위가 전체 순위의 중간 값에서 낮은 쪽에 속할 경우 공유 그룹 내의 모든 행에 최저 순위가 부여됩니다.<br><br>공유 그룹 내의 모든 순위가 전체 순위의 중간 값에서 높은 쪽에 속할 경우 공유 그룹 내의 모든 행에 최고 순위가 부여됩니다.<br><br>공유 그룹 내의 순위가 전체 순위의 중간 값에 분포할 경우 모든 행에 전체 파티션의 최고 및 최저 순위의 평균에 해당하는 값이 부여됩니다. |
| 1 | 모든 행에 최저 순위를 부여합니다. |
| 2 | 모든 행에 평균 순위를 부여합니다. |
| 3 | 모든 행에 최고 순위를 부여합니다. |
| 4 | 첫 번째 행에 최저 순위를 부여하고, 각 행마다 순위가 하나씩 올라갑니다. |

###### fmt

두 번째 인수인 fmt에는 다음 값을 적용할 수 있습니다.

fmtfmt 값

| 값 | 설명 |
| --- | --- |
| 0(기본값) | 모든 행에 낮은 값 - 높은 값을 부여합니다(예: 3 - 4). |
| 1 | 모든 행에 낮은 값을 부여합니다. |
| 2 | 첫 번째 행에 낮은 값을 부여하고 나머지 행은 공백으로 채웁니다. |

mode 4 및 fmt 2의 행 순서는 테이블 필드의 로드 순서에 따라 결정됩니다.

## 예 - 순위 필드 추가

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/WindowFunctions/WRank.htm)

#### 예: 순위 필드 추가

로드 스크립트

데이터 로드 편집기에서 새 탭을 만든 후 다음 데이터를 인라인 로드로 로드합니다. 결과를 보려면 Qlik Sense에서 아래 테이블을 만듭니다.

```
Transactions:
Load
*,
Window(WRank(0),customer_id, 'Desc', transaction_amount) as TransactionRanking;

Load * Inline [
transaction_id, transaction_date, transaction_amount, transaction_quantity, customer_id, size, color_code
3750, 20180830, 23.56, 2, 2038593, L, Red
3751, 20180907, 556.31, 6, 203521, M, Orange
3752, 20180916, 5.75, 1, 5646471, S, Blue
3753, 20180922, 125.00, 7, 3036491, L, Black
3754, 20180922, 484.21, 13, 049681, XS, Red
3756, 20180922, 59.18, 2, 2038593, M, Blue
3757, 20180923, 177.42, 21, 203521, XL, Black
3758, 20180924, 153.42, 14, 2038593, L, Red
3759, 20180925, 7.42, 5, 203521, M, Orange
3760, 20180925, 80.12, 18, 5646471, M, Blue
3761, 20180926, 3.42, 7, 3036491, XS, Black
3763, 20180926, 63.55, 12, 049681, S, Red
3763, 20180927, 177.56, 10, 2038593, L, Blue
3764, 20180927, 325.95, 8, 203521, XL, Black
];
 
```

결과

순위 필드 추가 결과

| transaction\_id | transaction\_date | transaction\_amount | transaction\_quantity | customer\_id | 크기 | color\_code | TransactionRanking |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 3750 | 20180830 | 23.56 | 2 | 2038593 | L | 빨강 | 4-4 |
| 3751 | 20180907 | 556.31 | 6 | 203521 | M | 주황색 | 1-1 |
| 3752 | 20180916 | 5.75 | 1 | 5646471 | S | 파랑 | 2-2 |
| 3754 | 20180922 | 484.21 | 13 | 049681 | XS | 빨강 | 1-1 |
| 3756 | 20180922 | 59.18 | 2 | 2038593 | M | 파랑 | 3-3 |
| 3753 | 20180922 | 125.00 | 7 | 3036491 | L | Black | 1-1 |
| 3757 | 20180923 | 177.42 | 21 | 203521 | XL | Black | 3-3 |
| 3758 | 20180924 | 153.42 | 14 | 2038593 | L | 빨강 | 2-2 |
| 3759 | 20180925 | 7.42 | 5 | 203521 | M | 주황색 | 4-4 |
| 3760 | 20180925 | 80.12 | 18 | 5646471 | M | 파랑 | 1-1 |
| 3763 | 20180926 | 63.55 | 12 | 049681 | S | 빨강 | 2-2 |
| 3761 | 20180926 | 3.42 | 7 | 3036491 | XS | Black | 2-2 |
| 3764 | 20180927 | 325.95 | 8 | 203521 | XL | Black | 2-2 |
| 3763 | 20180927 | 177.56 | 10 | 2038593 | L | 파랑 | 1-1 |

## 예 - 한 자리 결과에 대해 fmt를 사용하여 순위 필드 추가

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/WindowFunctions/WRank.htm)

#### 예: 한 자리 결과에 대해 fmt를 사용하여 순위 필드 추가

로드 스크립트

데이터 로드 편집기에서 새 탭을 만든 후 다음 데이터를 인라인 로드로 로드합니다. 결과를 보려면 Qlik Sense에서 아래 테이블을 만듭니다.

```
Transactions:
Load
*,Window(WRank(0,1),customer_id, 'Desc', transaction_amount) as TransactionRanking;

Load * Inline [
transaction_id, transaction_date, transaction_amount, transaction_quantity, customer_id, size, color_code
3750, 20180830, 23.56, 2, 2038593, L, Red
3751, 20180907, 556.31, 6, 203521, M, Orange
3752, 20180916, 5.75, 1, 5646471, S, Blue
3753, 20180922, 125.00, 7, 3036491, L, Black
3754, 20180922, 484.21, 13, 049681, XS, Red
3756, 20180922, 59.18, 2, 2038593, M, Blue
3757, 20180923, 177.42, 21, 203521, XL, Black
3758, 20180924, 153.42, 14, 2038593, L, Red
3759, 20180925, 7.42, 5, 203521, M, Orange
3760, 20180925, 80.12, 18, 5646471, M, Blue
3761, 20180926, 3.42, 7, 3036491, XS, Black
3763, 20180926, 63.55, 12, 049681, S, Red
3763, 20180927, 177.56, 10, 2038593, L, Blue
3764, 20180927, 325.95, 8, 203521, XL, Black
];
 
```

결과

한 자리 결과에 대해 fmtfmt를 사용하여 순위 필드를 추가한 결과

| transaction\_id | transaction\_date | transaction\_amount | transaction\_quantity | customer\_id | 크기 | color\_code | TransactionRanking |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 3750 | 20180830 | 23.56 | 2 | 2038593 | L | 빨강 | 4 |
| 3751 | 20180907 | 556.31 | 6 | 203521 | M | 주황색 | 1 |
| 3752 | 20180916 | 5.75 | 1 | 5646471 | S | 파랑 | 2 |
| 3754 | 20180922 | 484.21 | 13 | 049681 | XS | 빨강 | 1 |
| 3756 | 20180922 | 59.18 | 2 | 2038593 | M | 파랑 | 3 |
| 3753 | 20180922 | 125.00 | 7 | 3036491 | L | Black | 1 |
| 3757 | 20180923 | 177.42 | 21 | 203521 | XL | Black | 3 |
| 3758 | 20180924 | 153.42 | 14 | 2038593 | L | 빨강 | 2 |
| 3759 | 20180925 | 7.42 | 5 | 203521 | M | 주황색 | 4 |
| 3760 | 20180925 | 80.12 | 18 | 5646471 | M | 파랑 | 1 |
| 3763 | 20180926 | 63.55 | 12 | 049681 | S | 빨강 | 2 |
| 3761 | 20180926 | 3.42 | 7 | 3036491 | XS | Black | 2 |
| 3764 | 20180927 | 325.95 | 8 | 203521 | XL | Black | 2 |
| 3763 | 20180927 | 177.56 | 10 | 2038593 | L | 파랑 | 1 |

## 예 - 여러 파티션이 있는 순위 필드 추가

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/WindowFunctions/WRank.htm)

#### 예: 여러 파티션이 있는 순위 필드 추가

로드 스크립트

데이터 로드 편집기에서 새 탭을 만든 후 다음 데이터를 인라인 로드로 로드합니다. 결과를 보려면 Qlik Sense에서 아래 테이블을 만듭니다.

```
Transactions:
Load
*,Window(WRank(0,1),customer_id, size, color_code, 'Desc', transaction_amount) as TransactionRanking;

Load * Inline [
transaction_id, transaction_date, transaction_amount, transaction_quantity, customer_id, size, color_code
3750, 20180830, 23.56, 2, 2038593, L, Red
3751, 20180907, 556.31, 6, 203521, M, Orange
3752, 20180916, 5.75, 1, 5646471, S, Blue
3753, 20180922, 125.00, 7, 3036491, L, Black
3754, 20180922, 484.21, 13, 049681, XS, Red
3756, 20180922, 59.18, 2, 2038593, M, Blue
3757, 20180923, 177.42, 21, 203521, XL, Black
3758, 20180924, 153.42, 14, 2038593, L, Red
3759, 20180925, 7.42, 5, 203521, M, Orange
3760, 20180925, 80.12, 18, 5646471, M, Blue
3761, 20180926, 3.42, 7, 3036491, XS, Black
3763, 20180926, 63.55, 12, 049681, S, Red
3763, 20180927, 177.56, 10, 2038593, L, Blue
3764, 20180927, 325.95, 8, 203521, XL, Black
];
 
```

결과

한 자리 결과에 대해 fmtfmt를 사용하여 순위 필드를 추가한 결과

| transaction\_id | transaction\_date | transaction\_amount | transaction\_quantity | customer\_id | 크기 | color\_code | TransactionRanking |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 3750 | 20180830 | 23.56 | 2 | 2038593 | L | 빨강 | 2 |
| 3751 | 20180907 | 556.31 | 6 | 203521 | M | 주황색 | 1 |
| 3752 | 20180916 | 5.75 | 1 | 5646471 | S | 파랑 | 1 |
| 3754 | 20180922 | 484.21 | 13 | 049681 | XS | 빨강 | 1 |
| 3756 | 20180922 | 59.18 | 2 | 2038593 | M | 파랑 | 1 |
| 3753 | 20180922 | 125.00 | 7 | 3036491 | L | Black | 1 |
| 3757 | 20180923 | 177.42 | 21 | 203521 | XL | Black | 2 |
| 3758 | 20180924 | 153.42 | 14 | 2038593 | L | 빨강 | 1 |
| 3759 | 20180925 | 7.42 | 5 | 203521 | M | 주황색 | 2 |
| 3760 | 20180925 | 80.12 | 18 | 5646471 | M | 파랑 | 1 |
| 3763 | 20180926 | 63.55 | 12 | 049681 | S | 빨강 | 1 |
| 3761 | 20180926 | 3.42 | 7 | 3036491 | XS | Black | 1 |
| 3764 | 20180927 | 325.95 | 8 | 203521 | XL | Black | 1 |
| 3763 | 20180927 | 177.56 | 10 | 2038593 | L | 파랑 | 1 |

## 제한 사항

WRank에는 다음과 같은 제한 사항이 있습니다.

* fmt 값이 0이고 WRank에 대한 이중 결과의 텍스트 부분을 사용하려면 Window(WRank)와 함께 Text()을 사용해야 합니다. 합니다(예: Text(Window(WRank(0), Unit, 'DESC', Age)) as UnitWRankedByAgeText).