Publié le :
Macro CREATION_INTERNE

Macro AHGautoformat - Génération dynamique de formats

Ce code est également disponible en : Deutsch English Español
Cette macro analyse une chaîne de caractères fournie en paramètre, sépare les éléments selon un délimiteur, et utilise ces éléments pour générer dynamiquement une étape PROC FORMAT. Elle dépend de macros externes non fournies ici (%AHGcount et %AHGpop) pour compter les éléments et extraire les paires valeur/étiquette.
Analyse des données

Type : CREATION_INTERNE


Les données utilisées pour créer le format sont fournies directement via les paramètres de la macro.

1 Bloc de code
PROC FORMAT
Explication :
Définition de la macro qui itère sur la chaîne d'entrée pour construire l'instruction VALUE d'une PROC FORMAT. Elle génère une correspondance clé-valeur pour un format caractère ($).
Copié !
1%macro AHGautoformat(str,fmt,dlm=/,quote=);
2 %local fmtN;
3 %let fmtN=%AHGcount(&str,dlm=/);
4 %local i item;
5 %DO i=1 %to &fmtN;
6 %let item=%scan(&str,&i,&dlm);
7 %local value&i FORMAT&i;
8 %AHGpop(item,value&i);
9 %let FORMAT&i=&item;
10 %END;
11 PROC FORMAT;
12 value $&fmt
13 %DO i=1 %to &fmtN;
14 "&&value&i"="&&format&i"
15 %END;
16 ;RUN;
17 
18 
19%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.