다음을 통해 공유


INDEX

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

지정된 파티션 내에서 위치 매개 변수로 지정된 절대 위치에 지정된 순서로 정렬된 행을 반환합니다. 현재 파티션을 단일 파티션으로 추론할 수 없는 If 여러 행이 반환될 수 있습니다.

통사론

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

매개 변수

학기 정의
position 데이터를 가져올 절대 위치(1부터):
- position 양수입니다. 1은 first 행이고, 2는 second 행입니다.
- position 음수입니다. -1 last 행이고, -2 secondlast 행입니다.
position 경계를 벗어나면 0, orBLANK()를 or. INDEX 빈 테이블을 반환합니다. 스칼라 value반환하는 DAX 식일 수 있습니다.
relation (선택 사항) 출력이 반환되는 테이블 식입니다. 지정된
IfpartitionByall 열은 related 테이블을 or 해당 열에서 나와야 합니다.
If 생략:
- orderBy 명시적으로 지정해야 합니다.
- AllorderByandpartitionBy 식은 단일 테이블에서 and 정규화된 열 이름이어야 합니다.
- orderByandpartitionByall 열의 ALLSELECTED() 기본값입니다.
axis (선택 사항) 시각적 셰이프의 축입니다. 시각적 계산에서만 사용할 수 andrelation대체합니다.
orderBy (선택 사항) 각 파티션의 정렬 방식을 define 식을 포함하는 ORDERBY() 절입니다.
If 생략:
- relation 명시적으로 지정해야 합니다.
- partitionBy이미 지정된 notrelation 모든 열의 순서 지정이 기본값입니다.
blanks (선택 사항) 정렬할 때 blankvalues 처리하는 방법을 정의하는 열거형입니다.
이 매개 변수는 나중에 사용하도록 예약되어 있습니다.
현재 지원되는 유일한 valueDEFAULT있습니다. 여기서 숫자 values 동작은 0부터 음수 values사이에 순서가 blankvaluesand. 문자열에 대한 동작은 blankvalues 빈 문자열을 포함하여 문자열을 all 전에 순서가 지정됩니다.
partitionBy (선택 사항) relation 분할되는 방법을 define 열이 포함된 PARTITIONBY() 절입니다. 생략된
Ifrelation 단일 파티션으로 처리됩니다.
matchBy (선택 사항) 현재 행을 식별하기 and 데이터를 일치시키는 방법을 define 열이 포함된 MATCHBY() 절입니다.
reset (선택 사항) 시각적 계산에서만 사용할 수 있습니다. 시각적 셰이프의 열 계층 구조 수준을 and 계산이 다시 설정되는 if 나타냅니다. 허용되는 valuesNONE, LOWESTPARENT, HIGHESTPARENTor 정수입니다. 동작은 정수 sign따라 달라집니다.
- If 0 or 생략하면 계산이 다시 설정되지 not. NONE동일합니다.
- If 양의 정수는 곡물과 관계없이 가장 높은 열부터 시작하는 열을 식별합니다. HIGHESTPARENT 1과 같습니다.
- 음수 If 정수는 현재 곡물을 기준으로 가장 낮은 열부터 시작하는 열을 식별합니다. LOWESTPARENT -1과 같습니다.

반환 value

절대 위치에 있는 행입니다.

발언

partitionByandmatchBy 열에는 다음 동작을 사용하여 작동할 "현재 파티션"을 define 데 도움이 되는 해당 외부 value 있어야 합니다.

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

If matchBy INDEX matchBy and partitionBy 열을 사용하여 행을 식별하려고 합니다. If matchBy orderBy and partitionBy 지정된 열이 relation모든 행을 고유하게 식별할 수 andnot 있습니다.

  • INDEX 모든 행을 고유하게 식별하는 데 필요한 최소 개수의 추가 열을 find 합니다.
  • 이러한 열을 찾을 수 IfINDEX 이러한 새 열을 orderBy자동으로 추가합니다. and 각 파티션은 이 새 OrderBy 열 집합을 사용하여 정렬됩니다.
  • 이러한 열을 찾을 수 없는 Iferror 반환됩니다.

빈 테이블은 다음 if반환됩니다.

  • PartitionBy 열의 해당 외부 valuerelation내에 not 있습니다.
  • position value 파티션 내에 not 위치를 나타냅니다.

If INDEX relation and orderBy 생략된 것과 동일한 테이블에 정의된 계산 열 내에서 사용되며 error 반환됩니다.

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

예제 1 - 계산 열

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

EVALUATE INDEX(1, ALL(DimDate[CalendarYear]))

다음 표를 반환합니다.

DimDate[CalendarYear]
2005

예제 2 - 계산 열

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

EVALUATE
SUMMARIZECOLUMNS (
    FactInternetSales[ProductKey],
    DimDate[MonthNumberOfYear],
    FILTER (
            VALUES(FactInternetSales[ProductKey]),
            [ProductKey] < 222
    ),
    "CurrentSales", SUM(FactInternetSales[SalesAmount]),
    "LastMonthSales",
    CALCULATE (
        SUM(FactInternetSales[SalesAmount]),
        INDEX(-1, ORDERBY(DimDate[MonthNumberOfYear]))
    )
)
ORDER BY [ProductKey], [MonthNumberOfYear]

다음 표를 반환합니다.

FactInternetSales[ProductKey] DimDate[MonthNumberOfYear] [CurrentSales] [LastMonthSales]
214 1 5423.45 8047.7
214 2 4968.58 8047.7
214 3 5598.4 8047.7
214 4 5073.55 8047.7
214 5 5248.5 8047.7
214 6 7487.86 8047.7
214 7 7382.89 8047.7
214 8 6543.13 8047.7
214 9 6788.06 8047.7
214 10 6858.04 8047.7
214 11 8607.54 8047.7
214 12 8047.7 8047.7
217 1 5353.47 7767.78
217 2 4268.78 7767.78
217 3 5773.35 7767.78
217 4 5738.36 7767.78
217 5 6158.24 7767.78
217 6 6998 7767.78
217 7 5563.41 7767.78
217 8 5913.31 7767.78
217 9 5913.31 7767.78
217 10 6823.05 7767.78
217 11 6683.09 7767.78
217 12 7767.78 7767.78

예제 3 - 시각적 계산

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

SalesComparedToBeginningOfYear = [SalesAmount] - CALCULATE(SUM([SalesAmount]), INDEX(1, ROWS, HIGHESTPARENT))

SalesComparedToBeginningOfQuarter = [SalesAmount] - CALCULATE(SUM([SalesAmount]), INDEX(1, , -1))

각 month대해 contains테이블을 향상시킵니다.
- 총 판매액;
- 각 yearfirstmonth 차이 ;
- 각 quarterfirstmonth 차이를 and.

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

시각적 계산

OFFSET ORDERBY PARTITIONBY WINDOW RANK ROWNUMBER