다음을 통해 공유


ROWNUMBER

적용 대상:계산 열계산 테이블Measure시각적 계산

지정된 순서에 따라 정렬된 지정된 파티션 내의 현재 컨텍스트에 대한 고유 순위를 반환합니다. 일치 항목을 찾을 수 없는 Ifrownumberblank.

구문

ROWNUMBER ( [<relation> or <axis>][, <orderBy>][, <blanks>][, <partitionBy>][, <matchBy>][, <reset>] )

매개 변수

용어 정의
relation (선택 사항) 출력 행이 반환되는 테이블 식입니다. 지정된
IfallorderByandpartitionBy 열은 해당 열에서 가져옵니다.
If 생략:
- orderBy 명시적으로 지정해야 합니다.
- AllorderByandpartitionBy 열은 단일 테이블에서 and 정규화되어야 합니다.
- 기본값은 ALLSELECTEDallorderByand 열의 partitionBy()입니다.
axis (선택 사항) 시각적 셰이프의 축입니다. 시각적 계산에서만 사용할 수 andrelation대체합니다.
orderBy (선택 사항) 각 파티션의 정렬 방식을 ORDERBY 열이 포함된 define() 절입니다.
If 생략:
- relation 명시적으로 지정해야 합니다.
- relation이미 지정된 notpartitionBy 모든 열의 순서 지정이 기본값입니다.
blanks (선택 사항) 정렬할 때 blankvalues 처리하는 방법을 정의하는 열거형입니다.
지원되는 values 다음과 같습니다.
  • DEFAULT(기본 value) 숫자 values 동작이 blankvalues 0부터 음수 andvalues사이에 정렬됩니다. 문자열에 대한 동작은 blankvalues 빈 문자열을 포함하여 문자열을 all 전에 순서가 지정됩니다.
  • FIRST오름차순 or 내림차순 정렬 순서에 관계없이 공백은 항상 시작 부분에 정렬됩니다.
  • LAST오름차순 or 내림차순 정렬 순서에 관계없이 공백은 항상 끝에 정렬됩니다.

개별 식의 blanks() 함수에서 and 매개 변수 ORDERBY 공백이 모두 지정되면 개별 blanks 식의 orderBy 관련 orderBy 식에 우선 순위를 두고 andorderByblanks 없는 식은 부모 blanks 함수에 Window 매개 변수를 적용합니다.
partitionBy (선택 사항) PARTITIONBY 분할되는 방법을 define 열이 포함된 relation() 절입니다. 생략된
Ifrelation 단일 파티션으로 처리됩니다.
matchBy (선택 사항) 현재 행을 식별하기 MATCHBY 데이터를 일치시키는 방법을 define 열이 포함된 and() 절입니다.
reset (선택 사항) 시각적 계산에서만 사용할 수 있습니다. 시각적 셰이프의 열 계층 구조 수준을 if 계산이 다시 설정되는 and 나타냅니다. 허용되는 valuesNONE, LOWESTPARENT, HIGHESTPARENTor 정수입니다. 동작은 정수 sign따라 달라집니다.
- If 0 or 생략하면 계산이 다시 설정되지 not. NONE동일합니다.
- If 양의 정수는 곡물과 관계없이 가장 높은 열부터 시작하는 열을 식별합니다. HIGHESTPARENT 1과 같습니다.
- 음수 If 정수는 현재 곡물을 기준으로 가장 낮은 열부터 시작하는 열을 식별합니다. LOWESTPARENT -1과 같습니다.

반환 value

현재 컨텍스트의 rownumber 번호입니다.

설명

orderBy, partitionBy, andmatchBy 열에는 다음 동작으로 작동할 현재 행을 value 데 도움이 되는 해당 외부 define 있어야 합니다.

  • 정확히 하나의 해당 외부 열이 있는 If 해당 value 사용됩니다.
  • 해당 외부 열이 없는 If 다음을 수행합니다.
    • ROWNUMBER 해당 외부 열이 없는 firstall, orderBy, partitionByand 열을 matchBy 결정합니다.
    • values 부모 컨텍스트에서 이러한 열에 대한 기존 ROWNUMBER 모든 조합에 대해 행이 반환될 ROWNUMBERand 평가됩니다.
    • ROWNUMBER최종 출력은 이러한 행의 union.
  • 두 개 이상의 해당 외부 열이 있는 Iferror 반환됩니다.

If matchBy 있으면 ROWNUMBERmatchByandpartitionBy 열을 사용하여 현재 행을 압축합니다. If orderBy and 내에 지정된 열이 partitionBy모든 행을 고유하게 식별할 수 없는 relation 다음을 수행합니다.

  • ROWNUMBER 모든 행을 고유하게 식별하는 데 필요한 최소 개수의 추가 열을 find 합니다.
  • 이러한 열을 찾을 수 IfROWNUMBER
    • 모든 행을 고유하게 식별하는 데 필요한 최소 개수의 추가 열을 find 합니다.
    • 이러한 새 열을 orderBy 절에 자동으로 추가합니다.
    • 이 새 orderBy 열 집합을 사용하여 각 파티션을 정렬합니다.
  • 함수가 런타임에 동률을 검색할 If 이러한 열을 찾을 수 없는 anderror 반환됩니다.

reset 시각적 계산에만 사용할 수 andorderByorpartitionBy함께 사용할 수 없습니다. If reset axis 지정할 수 있지만 relation 수 없습니다.

예제 1 - 계산 열

다음 DAX 쿼리는 다음과 같습니다.

EVALUATE
ADDCOLUMNS(
    'DimGeography',
    "UniqueRank",
    ROWNUMBER(
    	'DimGeography',
    	ORDERBY(
    		'DimGeography'[StateProvinceName], desc,
    		'DimGeography'[City], asc),
    	PARTITIONBY(
    		'DimGeography'[EnglishCountryRegionName])))
ORDER BY [EnglishCountryRegionName] asc, [StateProvinceName] desc, [City] asc

StateProvinceName and City에서 동일한 EnglishCountryRegionName을 사용하여 각 지리의 순위를 고유하게 지정하는 테이블을 반환합니다.

예제 2 - 시각적 계산

쿼리를 DAX 시각적 계산은 다음과 같습니다.

SalesRankWithinYear = ROWNUMBER(ORDERBY([SalesAmount], DESC), PARTITIONBY([CalendarYear]))

SalesRankAllHistory = ROWNUMBER(ORDERBY([SalesAmount], DESC))

각 rank전체 기록에 month 총 판매액으로 각 year 고유하게 and 두 개의 열을 만듭니다.

아래 스크린샷은 and 시각적 계산 식을 first 시각적 행렬을 보여줍니다.

시각적 계산

INDEX ORDERBY PARTITIONBY WINDOW RANK