WRank - 스크립트 함수
WRank()는 로드 스크립트에서 테이블 행을 평가하고 각 행에 대해 로드 스크립트에서 평가된 필드 값의 상대적 위치를 표시합니다. 테이블을 평가할 때 함수는 결과를 현재 파티션이 포함된 다른 행의 결과와 비교하고 세그먼트 내 현재 행의 순위를 반환합니다.
WRank는 Window 함수에서만 사용할 수 있습니다. Window 함수에는 정렬 유형과 정렬 표현식이 포함되어야 합니다. 순위는 정렬 표현식에 적용됩니다.
구문:
WRank ([mode[, fmt]])
반환 데이터 유형: 이중
인수:
인수 | 설명 |
---|---|
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의 행 순서는 테이블 필드의 로드 순서에 따라 결정됩니다.
예 - 순위 필드 추가
예 - 한 자리 결과에 대해 fmt를 사용하여 순위 필드 추가
예 - 여러 파티션이 있는 순위 필드 추가
제한 사항
WRank에는 다음과 같은 제한 사항이 있습니다.
-
fmt 값이 0이고 WRank에 대한 이중 결과의 텍스트 부분을 사용하려면 Window(WRank)와 함께 Text()을 사용해야 합니다. 합니다(예: Text(Window(WRank(0), Unit, 'DESC', Age)) as UnitWRankedByAgeText).