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 ist eine bequeme Möglichkeit, um Feldwerte während der Skriptausführung zu ersetzen, z. B. zum Austausch von US, U.S. oder America mit 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.

Example:  

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