Mapping

Mithilfe des Zusatzes mapping wird eine Mapping-Tabelle erstellt, die z. B. zum Austauschen der Feldwerte und Feldnamen während der Ausführung des Skripts verwendet werden kann.

Syntax:  

Mapping( loadstatement | selectstatement )

 

Der mapping-Zusatz kann vor dem Befehl LOAD oder SELECT eingefügt werden und speichert das Ergebnis des Load-Befehls als Mapping-Tabelle. Mapping ermöglicht das praktische Ersetzen von Feldwerten während der Skriptausführung, z. B. das Ersetzen von US, U.S. oder Amerika durch USA. Eine Mapping-Tabelle besteht aus zwei Spalten: Die erste enthält Vergleichswerte, die zweite die zugehörigen Mapping-Werte. Mapping-Tabellen werden lediglich während der Ausführung des Skripts für das Mapping benötigt und danach wieder gelöscht.

Auf den Inhalt der Mapping-Tabelle kann z. B. mithilfe des Befehls Map … Using, des Befehls Rename Field, der Funktion Applymap() oder der Funktion Mapsubstring() zugegriffen werden.

Beispiel:  

In diesem Beispiel wird eine Liste von Verkäufern mit einem Ländercode geladen, der den Wohnsitzstaat enthält. Eine Tabelle, in der die Ländercodes den einzelnen Ländern zugeordnet sind, wird dazu verwendet, den Ländercode durch den tatsächlichen Namen des jeweiligen Landes zu ersetzen. Nur drei Länder sind in Mapping-Tabelle definiert, die anderen Ländercodes sind 'Rest of the world' zugeordnet.

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

Die sich ergebende Tabelle sieht folgendermaßen aus:

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