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

ApplyMap - fonction de script

La fonction de script ApplyMap permet de mapper le résultat d'une expression à une table de mappage déjà chargée.

 

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

double

 

Arguments
Argument Description
map_name

Nom d'une table de mappage créée précédemment à l'aide de l'instruction mapping load ou mapping select. Son nom doit être mis entre guillemets simples droits.

Note AvertissementSi vous utilisez cette fonction dans une variable étendue par macro et si vous faites référence à une table de mappage qui n'existe pas, l'appel de fonction se solde par un échec et aucun champ n'est créé.
expression Expression dont le résultat doit être mappé.
default_mapping

Si l'argument est indiqué, cette valeur est utilisée comme valeur par défaut lorsque la table de mappage ne contient pas de valeur correspondante pour expression. Si l'argument n'est pas précisé, la valeur de l'expression est renvoyée telle quelle.

Note AvertissementLe nom du champ de sortie d'ApplyMap doit être différent de celui des champs d'entrée. Cela pourrait entraîner des résultats inattendus. Exemple à ne pas utiliser : ApplyMap('Map', A) as A.

 

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 (Salespersons) a l'aspect suivant :

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

En savoir plus

 

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 !