Publié le :
Macro MIXTE

Macro AHGsplitVar : Découpage de variable

Ce code est également disponible en : Deutsch English Español
En attente de validation
Cette macro itère sur une liste de noms de variables cibles (`toVars`) et utilise la fonction `scan` pour extraire les segments correspondants de la variable source (`inVar`) séparés par un délimiteur (`dlm`, par défaut '@'). Elle génère une étape DATA pour effectuer cette transformation. Elle gère optionnellement la suppression de la variable source et la définition du dataset de sortie. Note : Elle dépend de macros utilitaires externes non fournies ici (`%AHGblank`, `%AHGbarename`, `%AHGcount`).
Analyse des données

Type : MIXTE


Les données sont fournies dynamiquement via le paramètre `dsn` lors de l'appel de la macro.

1 Bloc de code
DATA STEP Data
Explication :
Définition de la macro. Elle vérifie d'abord si un nom de table de sortie est fourni, sinon elle dérive un nom. Ensuite, elle initie une étape DATA lisant la table d'entrée. Une boucle `%do` génère dynamiquement les instructions d'assignation pour chaque nouvelle variable en utilisant la fonction `scan`. Enfin, la variable d'origine est supprimée si le paramètre `drop` est actif.
Copié !
1%macro AHGsplitVar(dsn,inVar,toVars,out=,dlm= @,drop=1);
2 %IF %AHGblank(&out) %THEN %let out=%AHGbarename(&dsn);
3 DATA &out;
4 SET &dsn;
5 %local i;
6 %DO i=1 %to %AHGcount(&toVars);
7 %scan(&ToVars,&i)=scan(&inVar,&i,"&dlm");
8 %END;
9 %IF &drop %THEN drop &invar;;
10 RUN;
11%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.