Correspondencia

El prefijo mapping se utiliza para crear una tabla de correspondencia que se puede usar, por ejemplo, para reemplazar valores de campo y nombres de campo durante la ejecución de script.

Syntax:  

Mapping( loadstatement | selectstatement )

 

El prefijo mapping se puede colocar delante de una o una sentencia LOAD o SELECT y almacenará el resultado de la sentencia de carga como una tabla de correspondencia. Mapping ofrece una manera eficaz de sustituir valores de campo durante la ejecución del script, por ej. reemplazando US, U.S. o América por USA. Una tabla de enlace se compone de dos columnas, la primera contiene los valores de comparación y la segunda contiene los valores de correspondencia deseados. Las tablas de correspondencia se almacenan temporalmente en la memoria y se eliminan automáticamente tras la ejecución de script.

Se puede acceder al contenido de la tabla de correspondencia usando, por ejemplo, la sentencia Map … Using, la sentencia Rename Field, la función Applymap() o la función Mapsubstring().

Example:  

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 tiene el siguiente aspecto:

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