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

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

Syntax:  

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

Return data type: двойной

Arguments:  

Аргумент Описание
map_name

Имя таблицы сопоставления, созданной ранее с помощью операторов mapping load или mapping select. Имя таблицы должно быть заключено в одинарные прямые кавычки.

Предупреждение: Если функция используется в составе развернутой переменной макроса и ссылается на несуществующую таблицу сопоставления, вызов функции не даст результата, а поле создано не будет.
expression Выражение, результат которого должен быть сопоставлен.
default_mapping

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

Предупреждение: Имя поля вывода значения ApplyMap не должно совпадать с именем какого-либо из полей ввода. Это может привести к непредвиденным результатам. Пример нежелательного запроса: ApplyMap('Map', A) as A.

Example:  

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

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

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