Publié le :
Macro EXTERNE

Macro AHGdropvar - Suppression de variables par index

Ce code est également disponible en : Deutsch Español
La macro `AHGdropvar` génère une étape DATA pour exclure des variables spécifiques d'un jeu de données. L'utilisateur fournit la table d'entrée (`dsn`) et une liste d'indices (`IDs`). La macro s'appuie sur des macros externes non fournies ici (`AHGblank`, `AHGbarename`, `AHGvarlist`, `ahgcount`) pour récupérer la liste des variables de la table et mapper les indices aux noms des variables correspondants. Le résultat est écrit dans la table `out` (ou écrase l'entrée si `out` est vide).
Analyse des données

Type : EXTERNE


La macro opère sur une table SAS existante passée en paramètre (`dsn`).

1 Bloc de code
MACRO
Explication :
Définition de la macro. Elle résout les noms des variables à supprimer via une boucle sur les indices fournis et génère dynamiquement une étape DATA avec l'option `DROP=`.
Copié !
1%macro AHGdropvar(dsn,IDs,out=);
2 %IF %AHGblank(&out) %THEN %let out=%AHGbarename(&dsn);
3 %local i count varlist;
4 %AHGvarlist(&dsn,Into=varlist,dlm=%str( ),global=0);
5 %let count=%ahgcount(&ids);
6 DATA &out;
7 SET &dsn(drop=
8 %DO i=1 %to &count;
9 %scan(&varlist,%scan(&IDs,&i))
10 %END;
11 );
12 RUN;
13
14%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.