Publié le :
Macro EXTERNE

Macro AHGworkout : Copie et filtrage de tables

Ce code est également disponible en : Deutsch English Español
En attente de validation
Cette macro automatise la copie de tables SAS©. Elle accepte une bibliothèque source (fromlib) et une liste de tables (dsns). Si la liste est vide, elle tente de la peupler automatiquement via une macro externe (%AHGdsnInLib). Pour chaque table, elle génère un Data Step qui copie les données vers la bibliothèque cible (tolib), en ajoutant éventuellement un préfixe (pre) au nom de la table et en appliquant un filtre WHERE.
Analyse des données

Type : EXTERNE


Les données sont lues depuis la bibliothèque spécifiée par le paramètre macro &fromlib. Le code dépend de macros utilisateur non fournies ici (AHGblank, AHGdsnInLib, AHGcount).

1 Bloc de code
DATA STEP Data
Explication :
Définition de la macro. Elle utilise une boucle %DO pour itérer sur la liste des tables et générer dynamiquement des étapes DATA pour effectuer la copie et le filtrage.
Copié !
1%macro AHGworkout(fromlib,dsns,tolib=work,pre=,where=%str(where 1));
2 %IF %AHGblank(&dsns) %THEN %AHGdsnInLib(lib=&fromlib,list=dsns,lv=1);;
3/* data &tolib..*/
4 %local i;
5 %DO i=1 %to %AHGcount(&dsns);
6 DATA &tolib..&pre%scan(&dsns,&i);
7 SET &fromlib..%scan(&dsns,&i);
8 &where ;
9 RUN;
10 %END;
11 
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.