Bonjour la communauté,
Afin de faire un filtre à l'aide d'un fichier de paramétrage, j'aimerais stocker les résultats de ma boucle %DO dans une seule variable que je pourrais utiliser.
Par exemple, je vais avoir comme variable dans ma boucle
- Animaux = Chien
- Animaux = Chat
- Animaux = Oiseau
- Animaux = Souris
Pour avoir résultat ci-dessous dans une seule variable
- Liste d'animaux = Chien, Chat, Oiseaux, Souris
Ci-dessous le code que j'ai essayé de développer.
Je n'arrive pas à stocker les résultats dans un %let en utilisent une boucle %DO.
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
22
23
24
25
26
27
28
29
30
31
32 %macro List_animaux(); data Animaux; input Type_animaux $; cards; Chien Chat Oiseau Souris ; run; data _NULL_; call symputx("NB_ANIMAUX",_N_-1); set Animaux; cnt+1; call symput (cats("TYPE_ANIMAUX",put(cnt,best.)),Type_animaux); run; %do i=1 %to &NB_ANIMAUX.; %let Lst_animaux = %do i=1 %to &NB_ANIMAUX.; &&TYPE_ANIMAUX&i., %end; ; %end; %put &Lst_animaux.; %mend; %List_animaux;
Il y a également une autre difficulté car la dernière valeur de ma boucle ne doit pas avoir pour séparateur de ",".
Merci pour votre aide.
Partager