Publié le :
Macro CREATION_INTERNE

Macro AHGaddordvar - Création de variable de tri

Ce code est également disponible en : Deutsch English Español
Cette macro est conçue pour être invoquée à l'intérieur d'un DATA Step. Elle analyse une variable source (`var`) pour détecter la présence de chiffres. Si des chiffres sont présents, elle construit une variable de tri (`ordVar`) en normalisant les segments numériques (probablement séparés par des points). Elle utilise une boucle macro pour générer des instructions `tranwrd` qui ajoutent des zéros non significatifs (padding) aux chiffres de 0 à 9 entourés de points, permettant ainsi un tri alphanumérique cohérent (ex: traiter '1.2' comme inférieur à '1.10').
Analyse des données

Type : CREATION_INTERNE


Le code définit une macro logicielle et ne charge ni ne manipule directement de données externes lors de sa compilation.

1 Bloc de code
MACRO
Explication :
Définition de la macro `AHGaddordvar`. Elle génère une logique conditionnelle `IF` pour le DATA Step. Elle transforme la chaîne en doublant les délimiteurs '.' et en ajoutant un préfixe '0' aux chiffres uniques trouvés entre ces délimiteurs pour standardiser le format de tri.
Copié !
1%macro AHGaddordvar(var,ordVar);
2 %local i;
3 IF anydigit(&var) THEN
4 DO;
5 &ordvar='..'||trim(substr(tranwrd(&var,'.','..'),anydigit(&var)))||'..';
6
7 %DO i=0 %to 9;
8 &ordvar=tranwrd(&ordvar,".&i..",".0&i..");
9 %END;
10 &ordvar=substr(&var,1,anydigit(&var)-1)||&ordvar;
11 END;
12%mend;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.