# Rank - 차트 함수

Rank()는 표현식의 차트 행을 평가하고 각 행에 대해 표현식에서 평가된 차원 값의 상대적 위치를 표시합니다. 이 함수는 표현식을 평가할 때 결과를 현재 열 세그먼트가 포함된 다른 행의 결과와 비교한 다음 세그먼트 내 현재 행의 순위를 반환합니다.

테이블 이외의 차트에서는 현재 열 세그먼트가 차트의 일반표 해당 부분에 나타나는 대로 정의됩니다.

구문:

Rank([TOTAL expr[, mode[, fmt]])

반환 데이터 유형: dual

인수:

* expr: 측정할 데이터가 포함된 표현식 또는 필드입니다.

* mode: 함수 결과의 숫자 표현을 지정합니다.

* fmt: 함수 결과의 텍스트 표현을 지정합니다.

* TOTAL: 차트가 1차원이거나 표현식 앞에 TOTAL 한정자가 오는 경우 이 함수는 전체 열에서 평가됩니다. 테이블 또는 테이블과 동등한 것에 여러 세로 차원이 있을 경우 현재 열 세그먼트에는 필드 간 정렬 순서에서 마지막 차원이 표시되는 열을 제외하고 모든 차원 열 내의 현재 행과 같은 값을 가진 행만 포함됩니다.

  [집계 범위 정의](https://help.qlik.com/ko-KR/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/ChartFunctions/define-aggregation-scope.htm)

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

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

###### mode

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

두 번째 인수 값

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

###### fmt

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

세 번째 인수 값

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

mode 4 및 fmt 2에 해당하는 행의 순서는 차트 차원의 정렬 순서에 따라 결정됩니다.

예 및 결과:

차원 Product 및 Sales에서 두 차트를 만들고, Product 및 UnitSales에서 또 다른 차트를 만듭니다. 아래 테이블에 표시된 것처럼 계수를 추가합니다.

예 1:

차원 `Customer`및 `Sales`와 계수 `Rank(Sales)`에서 테이블을 만듭니다.

결과는 차원의 정렬 순서에 따라 달라집니다. 테이블이 Customer로 정렬된 경우, 테이블에 Astrida에 대한 Sales 값에 이어 Betacab 순으로 해당하는 모든 값이 나열됩니다. Rank(Sales)의 결과는 Sales 값 12에 대해 10, Sales 값 13에 대해 9 등으로 표시되며, Sales 값 78의 경우 순위 값 1이 반환됩니다. 다음 열 세그먼트는 Betacab으로 시작되며, 여기서 세그먼트에 있는 Sales의 첫 번째 값은 12입니다. 이에 대한 Rank(Sales)의 순위 값은 11로 지정됩니다.

테이블이 Sales로 정렬된 경우, 열 세그먼트는 Sales 및 해당 Customer의 값으로 구성됩니다. 12에 해당하는 Sales 값이 두 개(Astrida 및 Betacab)이므로, 해당 열 세그먼트의 Rank(Sales) 값은 각 Customer에 대해 1-2입니다. 이는 Sales 값 12에 해당하는 Customer의 값이 둘이기 때문입니다. 4개의 값이 있다면 결과는 모든 행에서 1-4가 됩니다. 이는 인수 fmt의 기본값(0)에 대한 결과가 어떻게 나타날지 보여줍니다.

예 2:

Customer 차원을 Product로 교체하고 계수 `Rank(Sales,1,2)`를 추가합니다.

그러면 인수 mode 및 fmt가 각각 1과 2로 설정되므로, 각 열 세그먼트의 첫 번째 행에서 1이 반환되며 나머지 모든 행은 빈 채로 남습니다.

` `

**예에서 사용된 데이터:**

`ProductData:` `Load * inline [` `Customer|Product|UnitSales|UnitPrice` `Astrida|AA|4|16` `Astrida|AA|10|15` `Astrida|BB|9|9` `Betacab|BB|5|10` `Betacab|CC|2|20` `Betacab|DD|0|25` `Canutility|AA|8|15` `Canutility|CC|0|19` `] (delimiter is '|');` ` ` `Sales2013:` `crosstable (Month, Sales) LOAD * inline [` `Customer|Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec` `Astrida|46|60|70|13|78|20|45|65|78|12|78|22` `Betacab|65|56|22|79|12|56|45|24|32|78|55|15` `Canutility|77|68|34|91|24|68|57|36|44|90|67|27` `Divadip|57|36|44|90|67|27|57|68|47|90|80|94` `] (delimiter is '|');` ` `

## 자세한 정보

* [Sum - 차트 함수](https://help.qlik.com/ko-KR/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/ChartFunctions/BasicAggregationFunctions/sum.htm)