# LookUp - 스크립트 함수

Lookup()은 이미 로드된 테이블을 조회하여 match\_field\_name 필드의 match\_field\_value 값의 첫 번째 발생 항목에 해당하는 field\_name의 값을 반환합니다. 테이블은 현재 테이블이거나 이전에 로드한 다른 테이블일 수 있습니다.

구문:

lookup(field\_name, match\_field\_name, match\_field\_value [, table\_name])

반환 데이터 유형: dual

인수:

LookUp 인수

| 인수 | 설명 |
| --- | --- |
| field\_name | 반환 값이 필요한 필드의 이름입니다.입력 값은 문자열(예: 따옴표로 묶은 리터럴)로 지정해야 합니다. |
| match\_field\_name | match\_field\_value를 조회할 필드의 이름입니다. 입력 값은 문자열(예: 따옴표로 묶은 리터럴)로 지정해야 합니다. |
| match\_field\_value | match\_field\_name 필드에서 조회할 값입니다. |
| table\_name | 값을 조회할 테이블의 이름입니다. 입력 값은 문자열(예: 따옴표로 묶은 리터럴)로 지정해야 합니다.<br><br><br>table\_name을 생략하면 현재 테이블이 사용됩니다. |

정보 메모따옴표가 없는 인수는 현재 테이블을 참조합니다. 다른 테이블을 참조하려면 작은따옴표 안에 해당 인수를 넣으십시오.

제한 사항:

테이블이 조인과 같은 복잡한 연산의 결과일 경우 순서가 잘 정의되지 않으며, 그렇지 않을 경우 로드 순서가 검색 순서가 됩니다. field\_name 및 match\_field\_name은 table\_name으로 지정된 테이블과 동일한 테이블 내의 필드여야 합니다.

일치 항목이 발견되지 않으면 NULL이 반환됩니다.

샘플 데이터에서는 다음과 같은 형식으로 Lookup() 함수를 사용합니다.

`Lookup('Category', 'ProductID', ProductID, 'ProductList')`

예제 스크립트를 문서에 추가하고 실행합니다. 그런 다음, 결과를 보기 위해 결과 열에 나열된 필드를 문서의 시트에 추가합니다.

`ProductList:` `Load * Inline [` `ProductID|Product|Category|Price` `1|AA|1|1` `2|BB|1|3` `3|CC|2|8` `4|DD|3|2` `] (delimiter is '|');` ` ` `OrderData:` `Load *, Lookup('Category', 'ProductID', ProductID, 'ProductList') as CategoryID` `Inline [` `InvoiceID|CustomerID|ProductID|Units` `1|Astrida|1|8` `1|Astrida|2|6` `2|Betacab|3|10` `3|Divadip|3|5` `4|Divadip|4|10` `] (delimiter is '|');` ` ` `Drop Table ProductList` ` `

ProductList 테이블이 먼저 로드됩니다.

Lookup() 함수는 OrderData 테이블을 만드는 데 사용됩니다. 세 번째 인수가 ProductID로 지정됩니다. 둘러싼 작은따옴표에 지정된 대로 ProductList의 두 번째 인수 'ProductID'에서 값을 조회할 필드입니다.

이 함수는 CategoryID로 로드된 'Category'(ProductList 테이블 내)의 값을 반환합니다.

drop 문은 불필요한 ProductList 테이블을 데이터 모델에서 삭제하며 다음과 같은 결과를 가진 OrderData 테이블은 남겨둡니다.

예 1 결과

| ProductID | InvoiceID | CustomerID | Units | CategoryID |
| --- | --- | --- | --- | --- |
| 1 | 1 | Astrida | 8 | 1 |
| 2 | 1 | Astrida | 6 | 1 |
| 3 | 2 | Betacab | 10 | 2 |
| 3 | 3 | Divadip | 5 | 2 |
| 4 | 4 | Divadip | 10 | 3 |

정보 메모 Lookup() 함수는 유연하므로 이전에 로드한 테이블에 액세스할 수 있습니다. 하지만 Applymap() 함수와 비교하여 속도가 느립니다.

## 자세한 정보

* [ApplyMap - 스크립트 함수](https://help.qlik.com/ko-KR/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/Scripting/MappingFunctions/ApplyMap.htm)