Mapeamento

O prefixo mapping é usado para criar uma tabela de mapeamento que possa ser usada, por exemplo, para substituir valores e nomes de campo durante a execução do script.

Syntax:  

Mapping( loadstatement | selectstatement )

 

O prefixo mapping pode ser colocado na frente de uma declaração LOAD ou SELECT e usará o resultado da declaração de carregamento como entrada para uma transformação de tabela. O mapeamento fornece uma maneira eficiente de substituir valores de campo durante a execução do script, por exemplo, substituindo EUA, E.U.A ou América por EUA. A tabela de mapeamento consiste em duas colunas: a primeira contém valores de comparação, e a segunda, os valores de mapeamento desejados. As tabelas de mapeamento serão armazenadas temporariamente na memória e descartadas automaticamente após a execução do script.

O conteúdo da tabela de mapeamento pode ser acessado usando, por exemplo, o comando Map … Using, o comando Rename Field, a função Applymap() ou a função Mapsubstring().

Example:  

Neste exemplo, carregamos uma lista de vendedores com um código de país representando seu país de residência. A tabela é usada para mapear o código de um país a um país para substituir o código pelo nome do país. Somente três países estão definidos na tabela de mapeamento, outros códigos de países estão mapeados para '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';

A tabela resultante tem a seguinte aparência:

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