LookUp - 스크립트 함수이 페이지에서
Lookup() 은 이미 로드된 테이블을 조회하여 match_field_name 필드의 match_field_value 값의 첫 번째 발생 항목에 해당하는 field_name 의 값을 반환합니다. 테이블은 현재 테이블이거나 이전에 로드한 다른 테이블일 수 있습니다.
구문:
lookup( field_name,
match_field_name, match_field_value [, table_name] )
반환 데이터 유형: 이중
인수:
인수
field_name
반환 값이 필요한 필드의 이름입니다. 입력 값은 문자열(예: 따옴표로 묶은 리터럴)로 지정해야 합니다.
match_field_name
match_field_value 를 조회할 필드의 이름입니다. 입력 값은 문자열(예: 따옴표로 묶은 리터럴)로 지정해야 합니다.
match_field_value
match_field_name 필드에서 조회할 값입니다.
table_name
값을 조회할 테이블의 이름입니다. 입력 값은 문자열(예: 따옴표로 묶은 리터럴)로 지정해야 합니다.
table_name 을 생략하면 현재 테이블이 사용됩니다.
정보 메모 따옴표가 없는 인수는 현재 테이블을 참조합니다. 다른 테이블을 참조하려면 작은따옴표 안에 해당 인수를 넣으십시오.
제한 사항:
테이블이 조인과 같은 복잡한 연산의 결과일 경우 순서가 잘 정의되지 않으며, 그렇지 않을 경우 로드 순서가 검색 순서가 됩니다. field_name 및 match_field_name 은 table_name 으로 지정된 테이블과 동일한 테이블 내의 필드여야 합니다.
일치 항목이 발견되지 않으면 NULL 이 반환됩니다.
예
로드 스크립트
데이터 로드 편집기에서 다음 데이터를 인라인 로드로 로드하여 아래 예를 만듭니다.
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;
인라인 로드 사용에 대한 자세한 내용은 인라인 로드를 사용하여 데이터 로드 를 참조하십시오.
시각화 만들기
Qlik Sense 시트에 테이블 시각화를 만듭니다. 테이블에 ProductID , InvoiceID , CustomerID , Units 및 CategoryID 필드를 추가합니다.
결과
결과 테이블
ProductID
InvoiceID
CustomerID
단위
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() 함수를 사용합니다.
Lookup('Category', 'ProductID', ProductID, 'ProductList')
ProductList 테이블이 먼저 로드됩니다.
Lookup() 함수는 OrderData 테이블을 만드는 데 사용됩니다. 세 번째 인수가 ProductID 로 지정됩니다. 둘러싼 작은따옴표에 지정된 대로 ProductList 의 두 번째 인수 'ProductID' 에서 값을 조회할 필드입니다.
이 함수는 CategoryID 로 로드된 'Category '(ProductList 테이블 내)의 값을 반환합니다.
drop 문은 불필요한 ProductList 테이블을 데이터 모델에서 삭제하며 결과 OrderData 테이블은 남겨둡니다.
정보 메모
Lookup() 함수는 유연하므로 이전에 로드한 테이블에 액세스할 수 있습니다. 하지만 Applymap() 함수와 비교하여 속도가 느립니다.