Slt tt le monde.
Voilà, je dois créer une macro qui imprime ttes les var numériques d'une table. Les paramètres de la macro seront la table et le type de var (num ou caractères).
donc je commence par créer une table (tab1) par une proc content et je garde juste le nom et le type des variables. Ensuite je crée avec la call symput dans une étape data _null_ des macro-variables indicées qui contiennent le nom des var à imprimer. Je fais une autre call symput qui me permet de créer une macro var qui contient le nbre de var numérique que j'ai imprimé.
Mon code est le suivant:
Je ne sais pas comment écrire la proc print pour qu'elle n'imprime que les variables sélectionnées.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 %macro imprim_varnum (tab=, type_var=); data _null_; set dic; %local i; %let i = 0; %do %while (type = &type_var.); CALL SYMPUT(COMPRESS("mvar"||_Nom_),NAME); %let i = %eval(&i + 1); call symput("nb_varimp",&i); %end; proc print data = ; var ; run; run; %mend; %imprim_varnum (tab =dic, type_var=1);
Merci par avance,
Partager