다음을 통해 공유


EARLIER

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

언급된 열의 외부 평가 패스에서 지정된 열의 현재 value 반환합니다.

EARLIER 특정 value 입력으로 사용하여 해당 입력을 기반으로 계산을 생성하는 and 중첩된 계산에 유용합니다. Microsoft Excel에서는 현재 행의 컨텍스트 내에서만 이러한 계산을 수행할 수 있습니다. 그러나 DAX 입력 valueand 저장한 다음 전체 테이블의 데이터를 사용하여 계산할 수 있습니다.

EARLIER 계산 열의 컨텍스트에서 주로 사용됩니다.

통사론

EARLIER(<column>, <number>)

매개 변수

학기 정의
column 열로 확인되는 열 or 식입니다.
num (선택 사항) 외부 평가 패스에 대한 양수입니다.

next 평가 수준은 1로 표시됩니다. 2개 수준 아웃은 2개 and 표시됩니다.

생략된 기본 value 1입니다.

반환 value

value column 외부 평가 통과의 현재 행 number.

예외

오류에 대한 설명

발언

  • 테이블 검색이 시작되기 전에 행 컨텍스트가 EARLIERif 성공합니다. 그렇지 않으면 error반환됩니다.

  • EARLIER 성능이 느려질 수 있습니다. 이론적으로는 식 구문에 따라 열의 총 행 수에 가까운 여러 작업을 동일한 수만큼 수행해야 할 수 있기 때문입니다. 예를 들어 열에 행이 10개 있는 if 약 100개의 작업이 필요할 수 있습니다. 행이 100개일 if 10,000개에 가까운 작업이 수행될 수 있습니다.

  • 이 함수는 not RLS(행 수준 보안) 규칙에 or 계산 열에서 사용되는 경우 DirectQuery 모드에서 사용할 수 있습니다.

메모

실제로 VertiPaq 메모리 내 분석 엔진은 실제 계산 수를 줄이기 위해 최적화를 수행하지만 재귀를 포함하는 수식을 만들 때는 주의해야 합니다.

본보기

EARLIER사용을 설명하기 위해 rankvalueand 계산한 다음 다른 계산에서 해당 rankvalue 사용하는 시나리오를 빌드해야 합니다.

다음 예제는 각 ProductSubcategory의 총 매출을 보여 줍니다. 이 간단한 테이블 ProductSubcategory기반으로 합니다.

순위 열을 포함한 최종 테이블이 여기에 표시됩니다.

ProductSubcategoryKey EnglishProductSubcategoryName TotalSubcategorySales SubcategoryRanking
18 Bib-Shorts $156,167.88 18
26 자전거 랙 $220,720.70 14
27 자전거 스탠드 $35,628.69 30
28 케이지 and 병 $59,342.43 24
5 아래쪽 대괄호 $48,643.47 27
6 브레이크 $62,113.16 23
19 모자 $47,934.54 28
7 체인 $8,847.08 35
29 청소기 $16,882.62 32
8 크랭크 세트 $191,522.09 15
9 탈선자 $64,965.33 22
30 바퀴 $41,974.10 29
10 포크 $74,727.66 21
20 장갑 $228,353.58 12
4 핸들 $163,257.06 17
11 헤드셋 $57,659.99 25
31 헬멧 $451,192.31 9
32 하이드레이션 팩 $96,893.78 20
21 유니폼 $699,429.78 7
33 조명 36
34 잠금 $15,059.47 33
1 산악 자전거 $34,305,864.29 2
12 산 프레임 $4,511,170.68 4
35 파니에 36
13 페달 $140,422.20 19
36 펌프 $12,695.18 34
2 로드 바이크 $40,551,696.34 1
14 도로 프레임 $3,636,398.71 5
15 안장 $52,526.47 26
22 반바지 $385,707.80 10
23 양말 $28,337.85 31
24 타이츠 $189,179.37 16
37 타이어 and 튜브 $224,832.81 13
3 투어링 바이크 $13,334,864.18 3
16 투어링 프레임 $1,545,344.02 6
25 조끼 $240,990.04 11
17 바퀴 $648,240.04 8

Rank Value 만들기

한 행에서 지정된 rank 대한 valuevalue 가져오는 한 가지 방법은 비교되는 행보다 count 더 큰(value 작음) 행 수를 동일한 테이블에 or 것입니다. 이 기술은 테이블에서 가장 높은 blank 대한 orvalue 0 value 반환하는 반면, 같은 values 동일한 rankvalueandnextvalue(같음 values이후)에는 연속되지 않은 rankvalue있습니다. 아래 sample 참조하세요.

SubCategorySalesRanking새 계산 열은 다음 수식을 사용하여 만들어집니다.

= COUNTROWS(FILTER(ProductSubcategory, EARLIER(ProductSubcategory[TotalSubcategorySales])<ProductSubcategory[TotalSubcategorySales]))+1

다음 단계에서는 계산 방법을 자세히 설명합니다.

  1. EARLIER 함수는 테이블의 현재 행에 대한 value 가져옵니다. 이 경우 프로세스가 시작되므로 테이블의 first 행입니다.

  2. EARLIER([TotalSubcategorySales]) 외부 루프의 현재 행인 $156,167.88로 평가됩니다.

  3. FILTER 함수 nowall 행의 valueTotalSubcategorySales $156,167.88(value현재 EARLIER)보다 큰 테이블을 반환합니다.

  4. COUNTROWS 함수는 필터링된 테이블의 행 수를 계산하고 and 해당 value 현재 행의 새 계산 열에 1을 더한 값으로 할당합니다. 상위 valueBlank되는 것을 방지하려면 1을 추가해야 합니다.

  5. 계산 열 수식은 1~4단계를 반복하기 nextand 행으로 이동합니다. 이러한 단계는 테이블의 끝에 도달할 때까지 반복됩니다.

EARLIER 함수는 항상 현재 테이블 작업 전에 열의 value 가져옵니다. 그 전에 루프에서 If 가져와야 하는 valuesecond 인수를 2로 설정합니다.

EARLIEST 함수Filter 함수