ApplyMap — funkcja skryptu

Funkcja skryptu ApplyMap służy do mapowania danych wyjściowych wyrażenia na wcześniej załadowaną tabelę mapowania.

Syntax:  

ApplyMap('map_name', expression [ , default_mapping ] )

Return data type: podwójny

Arguments:  

Argument Opis
map_name

Nazwa tabeli mapowania, która została utworzona przy użyciu instrukcji mapping load lub mapping select. Nazwa musi być ujęta w pojedyncze proste cudzysłowy.

Ostrzeżenie: Jeśli ta funkcja zostanie użyta w zmiennej rozszerzonej przez makro i zostanie utworzone odniesienie do tabeli mapowania, która nie istnieje, wówczas wywołanie funkcji nie powiedzie się, a pole nie zostanie utworzone.
expression Wyrażenie, którego wynik powinien być mapowany.
default_mapping

W przypadku określenia tej wartości będzie ona używana jako wartość domyślna, jeśli tabela mapowania nie zawiera pasującej wartości wyrażenia expression. Jeśli nie zostanie określona, wartość expression zostanie zwrócona w istniejącej formie.

Ostrzeżenie: Pole wyjściowe funkcji ApplyMap nie powinno mieć tej samej nazwy, jak jedno z jej pól wejściowych. To może spowodować nieoczekiwane wyniki. Przykład nieprzeznaczony do użycia: ApplyMap('Map', A) as A.

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

Tabela wynikowa (Salespersons) wygląda następująco:

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