Mapowanie

Prefiks mapping służy do utworzenia tabeli mapowania, której można używać na przykład do zastępowania wartości i nazw pól podczas wykonywania skryptu.

Syntax:  

Mapping( loadstatement | selectstatement )

 

Podanie prefiksu mapping przed instrukcją LOAD lub SELECT spowoduje zapisanie wyniku instrukcji ładującej w postaci tabeli mapowania. Mapowanie to skuteczny sposób na podstawianie wartości pola podczas wykonywania skryptu, na przykład zastępowania słów US, U.S. lub Ameryka słowem USA. Tabela mapowania zawiera dwie kolumny, z których pierwsza zawiera wartości porównywane, a druga docelowe wartości mapowania. Tabele mapowania są tymczasowo przechowywane w pamięci i automatycznie usuwane po wykonaniu skryptu.

Dostęp do zawartości tabeli mapowania można uzyskać na przykład z instrukcji Map … Using, instrukcji Rename Field, funkcji Applymap() lub funkcji Mapsubstring().

Example:  

W tym przykładzie ładowana jest lista sprzedawców z kodem kraju reprezentującym ich kraj zamieszkania. Używana jest tabela mapująca kod kraju na kraj, aby zastąpić kod kraju jego nazwą. W tabeli mapowania zdefiniowano tylko trzy kraje, inne kody krajów są mapowane na wartość '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';

Otrzymana tabela wygląda następująco:

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