Przeskocz do zawartości głównej Przejdź do treści uzupełniającej

ApplyMap — funkcja skryptu

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

Składnia:  

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

Typ zwracanych danych: dual

Argumenty:  

Argumenty
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żenieJeś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żeniePole 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.

Przykład:  

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:

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

Dowiedz się więcej

 

Czy ta strona była pomocna?

Jeżeli natkniesz się na problemy z tą stroną lub jej zawartością — literówkę, brakujący krok lub błąd techniczny — daj nam znać, co możemy poprawić!