ApplyMap - 스크립트 함수
ApplyMap 스크립트 함수는 이전에 로드된 매핑 테이블에 표현식의 결과를 매핑하는 데 사용됩니다.
구문:
ApplyMap('map_name', expression [ , default_mapping ] )
반환 데이터 유형: dual
인수:
인수 | 설명 |
---|---|
map_name |
이전에 mapping load 또는 mapping select 문을 통해 생성된 매핑 테이블의 이름입니다. 이 이름은 작은따옴표로 묶어야 합니다. 경고 메모매크로 확장 변수에서 이 함수를 사용하고 존재하지 않는 매핑 테이블을 참조하면 함수 호출에 실패하고 필드가 생성되지 않습니다.
|
expression | 결과가 매핑될 표현식입니다. |
default_mapping |
이 인수를 지정하면 매핑 테이블에 expression에 일치하는 값이 없을 경우 이 값이 기본값으로 사용됩니다. 지정하지 않으면 expression의 값이 그대로 반환됩니다. |
경고 메모ApplyMap의 출력 필드는 입력 필드의 이름과 동일한 이름을 가질 수 없습니다. 이 경우 예기치 않은 결과가 발생할 수 있습니다. 사용해서는 안 되는 예: ApplyMap('Map', A) as A.
이 예에서는 거주 국가를 나타내는 국가 코드에 따라 영업직원 목록을 로드합니다. 국가 코드와 국가를 매핑하는 테이블을 사용하여 국가 코드를 국가명으로 바꿉니다. 매핑 테이블에는 3개 국가만 정의되어 있으며 다른 국가 코드는 'Rest of the world'로 매핑됩니다.
// Load mapping table of country codes:
map1:
mapping LOAD *
Inline [
CCode, Country
Sw, Sweden
Dk, Denmark
No, Norway
] ;
// Load list of salesmen, mapping country code to country
// If the country code is not in the mapping table, put Rest of the world
Salespersons:
LOAD *,
ApplyMap('map1', CCode,'Rest of the world') As Country
Inline [
CCode, Salesperson
Sw, John
Sw, Mary
Sw, Per
Dk, Preben
Dk, Olle
No, Ole
Sf, Risttu
] ;
// We don't need the CCode anymore
Drop Field 'CCode';
결과 테이블(Salespersons)은 다음과 같습니다.
Salesperson | Country |
---|---|
John | Sweden |
Mary | Sweden |
Per | Sweden |
Preben | Denmark |
Olle | Denmark |
Ole | Norway |
Risttu | Rest of the world |