ApplyMap — функция скрипта

Функция скрипта ApplyMap используется для сопоставления результата выражения с ранее загруженной таблицей сопоставления.

Синтаксис:  

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

Тип возвращаемого значения: dual

Аргументы:  

Аргумент Описание
map_name Имя таблицы сопоставления, созданной ранее с помощью операторов mapping load или mapping select. Имя таблицы должно быть заключено в одинарные прямые кавычки.
expression Выражение, результат которого должен быть сопоставлен.
default_mapping

Если это значение задано, оно будет использовано как значение по умолчанию, если таблица сопоставления не содержит совпадающего значения для параметра expression. Если значение не задано, то значение параметра expression выводится как есть.

Пример:  

В этом примере мы загружаем список продавцов с кодом страны, представляющим их страну проживания. Мы используем таблицу, соответствующую коду страны, для той страны, код которой будет заменен ее названием. В таблице сопоставления указаны только три страны, коды других стран указаны в параметре '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';

Полученная таблица выглядит следующим образом:

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