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

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

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