La macro `AHGvar2arr` permet de charger le contenu d'une colonne de données (`var`) provenant d'une table (`dsn`) dans des macro-variables globales nommées avec un préfixe (`arrPre`) et un index (ex: PRE1, PRE2...). Elle gère le nettoyage préalable via une macro externe `%AHGdel`, l'initialisation des variables globales jusqu'à une dimension donnée (`dim`), et l'assignation dynamique via un Data Step et `CALL SYMPUT`. Le nombre total d'éléments est stocké dans une variable suffixée `_n`.
Analyse des données
Type : EXTERNE
La source de données est définie dynamiquement par le paramètre macro `dsn` lors de l'appel.
1 Bloc de code
MACRO
Explication : Définition de la macro : déclaration des variables globales par boucle, puis exécution d'un Data Step _NULL_ pour lire la table source et créer les macro-variables correspondantes via CALL SYMPUT.
Copié !
%macro AHGvar2arr(dsn,var,arrPre,dim=100);
%AHGdel(&arrpre,like=1);
%global &arrPre._n;
%local i;
%do i=1 %to &dim;
%global &arrPRE&i;
%end;
data _null_;
set &dsn end=end;
call symput(strip("&arrpre"||%AHGputn(_n_)),strip(&var));
if end then call symput("&arrPre._n",strip(put(_n_,best.)) );
run;
%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.
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.