Rank - 차트 함수
Rank()는 표현식에서 차트의 행을 평가하고, 각 행에 대해 표현식에서 평가한 차원 값의 상대적인 위치를 표시합니다. 표현식을 평가하는 경우 이 함수는 결과를 현재 열 세그먼트가 포함된 다른 행의 결과와 비교한 다음 세그먼트 내 현재 행의 순위를 반환합니다.
테이블 이외의 차트에서는 현재 열 세그먼트가 차트의 일반표 해당 부분에 나타나는 대로 정의됩니다.
Syntax:
Rank([TOTAL] expr[, mode[, fmt]])
Return data type: dual
Arguments:
인수 | 설명 |
---|---|
expr | 측정할 데이터가 포함된 표현식 또는 필드입니다. |
mode | 함수 결과의 숫자 표현을 지정합니다. |
fmt | 함수 결과의 텍스트 표현을 지정합니다. |
TOTAL |
차트가 1차원이거나 표현식 앞에 TOTAL 한정자가 오는 경우 이 함수는 전체 열에서 평가됩니다. 테이블 또는 테이블과 동등한 것에 여러 세로 차원이 있을 경우 현재 열 세그먼트에는 필드 간 정렬 순서에서 마지막 차원이 표시되는 열을 제외하고 모든 차원 열 내의 현재 행과 같은 값을 가진 행만 포함됩니다. |
순위는 이중 값으로 반환되며, 각 행은 1과 현재 열 세그먼트의 행 수 사이의 정수인 고유 순위를 갖습니다.
여러 행이 동일한 순위를 공유할 경우 mode 및 fmt 파라메타를 사용하여 텍스트 및 숫자 표현을 제어할 수 있습니다.
mode
두 번째 인수인 mode에는 다음 값을 적용할 수 있습니다.
값 | 설명 |
---|---|
0(기본값) |
공유 그룹 내의 모든 순위가 전체 순위의 중간 값에서 낮은 쪽에 속할 경우 공유 그룹 내의 모든 행에 최저 순위가 부여됩니다. 공유 그룹 내의 모든 순위가 전체 순위의 중간 값에서 높은 쪽에 속할 경우 공유 그룹 내의 모든 행에 최고 순위가 부여됩니다. 공유 그룹 내의 순위가 전체 순위의 중간 값에 분포할 경우 모든 행에 전체 열 세그먼트의 최고 및 최저 순위의 평균에 해당하는 값이 부여됩니다. |
1 | 모든 행에 최저 순위를 부여합니다. |
2 | 모든 행에 평균 순위를 부여합니다. |
3 | 모든 행에 최고 순위를 부여합니다. |
4 | 첫 번째 행에 최저 순위를 부여하고, 각 행마다 순위가 하나씩 올라갑니다. |
fmt
세 번째 인수인 fmt에는 다음 값을 적용할 수 있습니다.
값 | 설명 |
---|---|
0(기본값) | 모든 행에 낮은 값 - 높은 값을 부여합니다(예: 3 - 4). |
1 | 모든 행에 낮은 값을 부여합니다. |
2 | 첫 번째 행에 낮은 값을 부여하고 나머지 행은 공백으로 채웁니다. |
mode 4 및 fmt 2에 해당하는 행의 순서는 차트 차원의 정렬 순서에 따라 결정됩니다.
Examples and results:
차원
예 | 결과 |
---|---|
예 1. 차원 |
결과는 차원의 정렬 순서에 따라 달라집니다. 테이블이 테이블이 |
예 2. Customer 차원을 Product로 교체하고 측정값 |
그러면 인수 |
예 1의 결과 -
Customer | Sales | Rank(Sales) |
---|---|---|
Astrida | 12 | 10 |
Astrida | 13 | 9 |
Astrida | 20 | 8 |
Astrida | 22 | 7 |
Astrida | 45 | 6 |
Astrida | 46 | 5 |
Astrida | 60 | 4 |
Astrida | 65 | 3 |
Astrida | 70 | 2 |
Astrida | 78 | 1 |
Betcab | 12 | 11 |
예 1의 결과 -
Customer | Sales | Rank(Sales) |
---|---|---|
Astrida | 12 | 1-2 |
Betacab | 12 | 1-2 |
Astrida | 13 | 1 |
Betacab | 15 | 1 |
Astrida | 20 | 1 |
Astrida | 22 | 1-2 |
Betacab | 22 | 1-2 |
Betacab | 24 | 1-2 |
Canutility | 24 | 1-2 |
예에서 사용된 데이터:
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 '|');