Accéder au contenu principal Passer au contenu complémentaire

Mappage

Le préfixe mapping permet de créer une table de mappage pouvant servir, par exemple, à remplacer des valeurs de champ et des noms de champ lors de l'exécution du script.

 

Mapping( loadstatement | selectstatement )

 

Vous pouvez insérer le préfixe mapping devant une instruction LOAD ou SELECT. Il stockera le résultat de l'instruction de chargement sous forme de table de mappage. Le préfixe mapping offre un moyen efficace de substituer des valeurs de champ lors de l'exécution du script, par ex. en remplaçant US, U.S. ou America par USA. Une table de mappage se compose de deux colonnes, la première contenant les valeurs de comparaison et la seconde contenant les valeurs de mappage voulues. Les tables de mappage sont stockées temporairement dans la mémoire et sont retirées automatiquement après l'exécution du script.

Le contenu de la table de mappage est accessible via, par exemple, l'instruction Map … Using, l'instruction Rename Field, la fonction Applymap() ou encore la fonction Mapsubstring().

 

Dans cet exemple, nous chargeons une liste de représentants commerciaux accompagnés du code pays représentant leur pays de résidence. Nous utilisons une table mappant un code pays à un pays pour remplacer le code pays par le nom du pays. Seulement trois pays sont définis dans la table de mappage ; les autres codes pays sont mappés à l'entrée 'Rest of the world' (Autre pays).

// 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 table résultante a l'aspect suivant :

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

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !