INDEX
지정된 파티션 내에서 위치 매개 변수로 지정된 절대 위치에 지정된 순서로 정렬된 행을 반환합니다. 현재 파티션을 단일 파티션으로 추론할 수 없는 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 |
(선택 사항) 출력이 반환되는 테이블 식입니다. 지정된 If partitionBy all 열은 related 테이블을 or 해당 열에서 나와야 합니다.
If 생략: - orderBy 명시적으로 지정해야 합니다.
- All orderBy andpartitionBy 식은 단일 테이블에서 and 정규화된 열 이름이어야 합니다.
- orderBy andpartitionBy all 열의 ALLSELECTED() 기본값입니다. |
axis |
(선택 사항) 시각적 셰이프의 축입니다. 시각적 계산에서만 사용할 수 andrelation 대체합니다. |
orderBy |
(선택 사항) 각 파티션의 정렬 방식을 define 식을 포함하는 ORDERBY() 절입니다.
If 생략: - relation 명시적으로 지정해야 합니다.
- partitionBy 이미 지정된 notrelation 모든 열의 순서 지정이 기본값입니다. |
blanks |
(선택 사항) 정렬할 때 blankvalues 처리하는 방법을 정의하는 열거형입니다.
이 매개 변수는 나중에 사용하도록 예약되어 있습니다. 현재 지원되는 유일한 value DEFAULT 있습니다. 여기서 숫자 values 동작은 0부터 음수 values사이에 순서가 blankvaluesand. 문자열에 대한 동작은 blankvalues 빈 문자열을 포함하여 문자열을 all 전에 순서가 지정됩니다. |
partitionBy |
(선택 사항) relation 분할되는 방법을 define 열이 포함된 PARTITIONBY() 절입니다. 생략된 If relation 단일 파티션으로 처리됩니다. |
matchBy |
(선택 사항) 현재 행을 식별하기 and 데이터를 일치시키는 방법을 define 열이 포함된 MATCHBY() 절입니다. |
reset |
(선택 사항) 시각적 계산에서만 사용할 수 있습니다. 시각적 셰이프의 열 계층 구조 수준을 and 계산이 다시 설정되는 if 나타냅니다. 허용되는 valuesNONE , LOWESTPARENT , HIGHESTPARENT or 정수입니다. 동작은 정수 sign따라 달라집니다. - If 0 or 생략하면 계산이 다시 설정되지 not. NONE 동일합니다.
- If 양의 정수는 곡물과 관계없이 가장 높은 열부터 시작하는 열을 식별합니다. HIGHESTPARENT 1과 같습니다.
- 음수 If 정수는 현재 곡물을 기준으로 가장 낮은 열부터 시작하는 열을 식별합니다. LOWESTPARENT -1과 같습니다. |
반환 value
절대 위치에 있는 행입니다.
발언
각 partitionBy
andmatchBy
열에는 다음 동작을 사용하여 작동할 "현재 파티션"을 define 데 도움이 되는 해당 외부 value 있어야 합니다.
- 정확히 하나의 해당 외부 열이 있는 If 해당 value 사용됩니다.
-
If 해당 외부 열이 없습니다.
-
INDEX 해당 외부 열이 없는 all
partitionBy
andmatchBy
열을 first 결정합니다. - INDEX부모 컨텍스트에서 이러한 열에 대한 기존 values 모든 조합에 대해 행이 반환될 andINDEX 평가됩니다.
- INDEX최종 출력은 이러한 행의 union.
-
INDEX 해당 외부 열이 없는 all
- 두 개 이상의 해당 외부 열이 있는 Iferror 반환됩니다.
If
matchBy
INDEX
matchBy
and
partitionBy
열을 사용하여 행을 식별하려고 합니다.
If
matchBy
orderBy
and
partitionBy
지정된 열이 relation
모든 행을 고유하게 식별할 수 andnot 있습니다.
- INDEX 모든 행을 고유하게 식별하는 데 필요한 최소 개수의 추가 열을 find 합니다.
- 이러한 열을 찾을 수 IfINDEX 이러한 새 열을
orderBy
자동으로 추가합니다. and 각 파티션은 이 새 OrderBy 열 집합을 사용하여 정렬됩니다. - 이러한 열을 찾을 수 없는 Iferror 반환됩니다.
빈 테이블은 다음 if반환됩니다.
-
PartitionBy 열의 해당 외부 value
relation
내에 not 있습니다. -
position
value 파티션 내에 not 위치를 나타냅니다.
If
INDEX
relation
and
orderBy
생략된 것과 동일한 테이블에 정의된 계산 열 내에서 사용되며 error 반환됩니다.
reset
시각적 계산에만 사용할 수 andorderBy
orpartitionBy
함께 사용할 수 없습니다.
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 시각적 행렬을 보여줍니다.
시각적 계산