Bonjour,
J'aimerais pouvoir, pour chaque ligne parcourir toutes les colonnes( cnt_x) de ma table.
Le résultat attendu devrait être le suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 data one; input @1 Produit $3. @5 cnt_2010 3. @10 cnt_2011 3.; datalines; P1 100 200 P2 1 2 P3 13 9 run;
Pour chaque ligne qui comprend au moins une valeur < 10, je devrais mettre un flag à 0. Sinon, je mets le flag à 1.
J'avais pensé faire quelque chose comme ça mais apparemment, il y a un problème pour l'appel de ma macro. (Problème à cause de la compilation de la macro et de la compilation du data step?)
Pourriez-vous m'aider?
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 %global a; %macro soustr(b); %let a = %sysevalf(&b-1); %mend; %let a = 2012; data test; format flag 3.; set one; do i=1 to 2;/*ici, je voudrais parcourir mes colonnes*/ /*le problème est que &a ne change pas de valeur */ /* j'aurais voulu faire quelque chose du style */ /*cnt_&a < 10 afin de changer dynamiquement le nom des colonnes*/ %soustr(&a) tmp = &a; output; end; run;
Merci à vous
Partager