Mapping

mapping öneki, örneğin kod yürütme sırasında alan değerlerini ve alan adlarını değiştirmek için kullanılabilecek bir eşleme tablosu oluşturmak için kullanılır.

Syntax:  

Mapping( loadstatement | selectstatement )

 

mapping öneki bir LOAD veya SELECT deyiminin önüne koyulabilir ve yükleme deyiminin sonucunu bir eşleme tablosu olarak saklar. Eşleme, kod çalıştırılması sırasında alan değerlerinin ikame edilmesinde (örneğin, BD, B.D. veya Amerika yerine ABD kullanılması gibi) etkili bir yol sağlar. Bir eşleme tablosu, ilki karşılaştırma değerlerini ve ikincisi de istenen eşleme değerlerini içeren iki sütundan oluşur. Eşleme tabloları bellekte geçici olarak saklanır ve kod yürütmesinden sonra otomatik olarak bırakılır.

Eşleme tablosunun içeriğine örneğin, Map … Using deyimi, Rename Field deyimi, Applymap() fonksiyonu veya Mapsubstring() fonksiyonu kullanılarak erişilebilir.

Example:  

Bu örnekte, ikamet ettikleri ülkeyi temsil eden ülke koduyla birlikte satış elemanlarının yer aldığı bir listeyi yüklüyoruz. Ülke kodunun yerine ülke adını koymak için, ülke kodunu ülkeyle eşleyen bir tablo kullanıyoruz. Eşleme tablosunda yalnızca üç ülke tanımlanmakta ve diğer ülke kodları 'Rest of the world' ile eşlenmektedir.

// 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';

Elde edilen tablo şöyle görünür:

Salesperson Country
John Sweden
Mary Sweden
Per Sweden
Preben Denmark
Olle Denmark
Ole Norway
Risttu Rest of the world