Bonjour,
Je voudrais savoir s'il est possible de mettre dans le premier paramètre de call symput une macro variable ?
Ci dessous un exemple table essaie:
obs toto tata titi
1 a rr yy
2 b ss vv
3 c tt ww
Je souhaite créer autant de macro variable qu'il y a de données (soit 9 = a, b, c, rr, ss, tt, yy, vv, ww).
pour prendre les données de chaque colonne je fais donc :
résultats :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 data _null_; set essaie end=fin; call symput('soleil'||left(_n_),(trim(toto))); if fin tehn call symput('nb',_n_); run; %macro repet; %local i; %do i=1 %to &nb; %put soleil&i is &&soleil&i; %end; %mend repet;
soleil1 is a
soleil2 is b
soleil3 is c
Maintenant je souhaite faire la meme chose pour les colonnes "tata" et "titi" : jaimerais donc savoir ce que je dois faire pour ne pas avoir 3 fois le meme programme ? autrement dit peut on mettre une macro var dans call symput qui permettra de changer automatiquement le nom de la colonne à prendre en compte et le nom des macro variable.
Merci d'avance pour votre aide.
Partager