Mapping
Ostatnia aktualizacja: 7.10.2026
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.
Mapping( loadstatement | selectstatement )
Podanie prefiksu mapping przed instrukcją LOAD lub SELECT spowoduje zapisanie wyniku instrukcji ładującej w postaci tabeli mapowania. Mapowanie zapewnia wydajny sposób zastępowania wartości pola podczas wykonywania skryptu, np. zamiany US, U.S. lub America na 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. Alternatywnie możesz usunąć tabele mapowania wcześniej podczas wykonywania skryptu, używając wariantu Drop mapping table instrukcji Drop table.
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().
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 |