Saltar al contenido principal Saltar al contenido complementario

ApplyMap - función de script

La función de script ApplyMap sirve para enlazar (o mapear) el resultado de una expresión con una tabla de correspondencia previamente cargada.

Sintaxis:  

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

Tipo de datos que devuelve: dual

Argumentos:  

Argumentos
Argumento Descripción
map_name

El nombre de una tabla de asignación que se creó previamente a través de la sentencia mapping load o mapping select. Su nombre debe ir entre comillas simples.

Nota de avisoSi utiliza esta función en una variable expandida de macros y hace referencia a una tabla de asignación que no existe, la llamada de función falla y no se crea un campo.
expression La expresión, el resultado de lo que debe mapearse o asignarse.
default_mapping

Si se establece, este valor se usará como valor predeterminado si la tabla de asignación no contiene un valor coincidente para expression. Si no se establece, el valor de expression se devolverá tal cual es.

Nota de avisoEl campo de salida de ApplyMap no debe tener el mismo nombre que uno de sus campos de entrada. Esto podría ocasionar resultados inesperados. Ejemplo de lo que no se debe utilizar: ApplyMap('Map', A) as A.

Ejemplo:  

En este ejemplo, se ha cargado una lista de comerciales con un código de país que representa su país de residencia. Se utiliza una tabla que asigna un código de país a un país para reemplazar el código de país por el nombre del país. Solo tres países están definidos en la tabla de asignación, otros códigos de país están asignados a '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';

La tabla resultante (Vendedores) tiene el siguiente aspecto:

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

Más información

 

¿Esta página le ha sido útil?

No dude en indicarnos en qué podemos mejorar si encuentra algún problema en esta página o su contenido, como, por ejemplo, errores tipográficos, pasos que falta o errores técnicos.