목차

Search

  1. 서문
  2. 변환 언어
  3. 상수
  4. 연산자
  5. 변수
  6. 날짜
  7. 함수
  8. 사용자 지정 함수 작성
  9. 사용자 지정 함수 API 참조

변환 언어 참조

변환 언어 참조

LOOKUP

LOOKUP

조회 소스 열의 값을 검색합니다.
LOOKUP 함수는 조회 소스의 데이터를 사용자가 지정한 값과 비교합니다.
PowerCenter 통합 서비스
가 조회 테이블에서 검색 값을 찾으면 조회 테이블과 동일한 행에서 지정된 열의 값을 반환합니다.
LOOKUP 함수를 사용하는 매핑에 기반하는 세션을 작성하는 경우 세션 속성에서 $Source 연결 값과 $Target 연결 값에 대한 데이터베이스 연결을 지정해야 합니다. 식 변환에서 조회 함수의 유효성을 검사하려면 조회 정의가 매핑에 있는지 확인합니다.
이 함수는 맵렛에서 지원되지 않습니다.

조회 변환 또는 LOOKUP 함수 사용

PowerCenter 매핑의 값을 조회할 때는 LOOKUP
함수
대신 조회
변환
을 사용합니다. LOOKUP 함수를 매핑에 사용하는 경우 세션 속성에서 3.5 호환성에 대한 조회 캐싱 옵션을 실행해야 합니다. 이 옵션은 조회 변환을 작성하지 않고 LOOKUP 함수를 계속해서 사용하려는 PowerMart 3.5 사용자를 위한 것입니다. 자세한 내용은
PowerCenter 변환 가이드
의 "조회 변환"을 참조하십시오.
LOOKUP 함수 안에 하나의 조회 테이블에 대한 여러 개의 검색을 정의할 수 있습니다. 그러나 조회 값은 각 검색에서 일치하는 값을 찾은 경우에만 반환됩니다.

구문

LOOKUP(
result, search1, value1 [, search2, value2]
... )
다음 테이블에는 이 명령의 인수가 설명되어 있습니다.
인수
필수/
선택 사항
설명
결과
필수
이진을 제외한 모든 데이터 유형. 검색과 동일한 조회 테이블의 출력 포트여야 합니다. 검색에서 일치하는 값을 찾을 경우 반환할 값을 지정합니다. 이 인수 앞에는 항상 참조 한정자 :TD가 있어야 합니다.
search1
필수
value1
과 일치하는 데이터 유형. 결과와 동일한 조회 테이블의 출력 포트여야 합니다. 값과 일치시킬 값을 지정합니다. 이 인수 앞에는 항상 참조 한정자 :TD가 있어야 합니다.
value1
필수
이진을 제외한 모든 데이터 유형.
search1
데이터 유형과 일치해야 합니다.
search1
에서 지정한 조회 소스 열에서 검색할 값입니다. 유효한 모든 변환 식을 입력할 수 있습니다.

반환 값

모든 검색에서 일치하는 값을 찾은 경우
결과
가 반환됩니다.
PowerCenter 통합 서비스
가 일치하는 값을 찾은 경우
search1
인수와 동일한 행의 결과가 반환됩니다.
검색에서 일치하는 값을 찾지 못한 경우 NULL이 반환됩니다.
검색에서 둘 이상의 일치하는 값을 찾은 경우 오류가 반환됩니다.

다음 식은 조회 소스 :TD.SALES에서 특정 항목 ID와 가격을 검색하고 두 검색에서 일치를 찾은 경우 항목 이름을 반환합니다.
LOOKUP( :TD.SALES.ITEM_NAME, :TD.SALES.ITEM_ID, 10, :TD.SALES.PRICE, 15.99 )
ITEM_NAME
ITEM_ID
PRICE
Regulator
5
100.00
Flashlight
10
15.99
Halogen Flashlight
15
15.99
NULL
20
15.99
RETURN VALUE:
Flashlight

LOOKUP 함수에 대한 팁

char과 varchar 값을 비교하는 경우 LOOKUP 함수는 두 행이 일치하는 경우에만 결과를 반환합니다. 즉, 각 행의 값과 길이가 모두 일치해야 합니다. 조회 소스가 지정된 길이의 여백이 있는 char 값이고 조회 검색이 varchar 값인 경우 RTRIM 함수를 사용하여 조회 소스에서 후행 공백을 잘라내야 값이 조회 검색과 일치합니다.
LOOKUP(:TD.ORDERS.PRICE, :TD.ORDERS.ITEM, RTRIM( ORDERS.ITEM, ' '))
LOOKUP 함수의
결과
search
인수에는 :TD 참조 한정자를 사용합니다.
LOOKUP(:TD.ORDERS.ITEM, :TD.ORDERS.PRICE, ORDERS.PRICE, :TD.ORDERS.QTY, ORDERS.QTY)