Bonjour, je vais essayer de formuler mon problème le plus simple possible.
Supposons que j'ai z1, z2, ..., zk variables et une variable X.
pour chaque variable z_i je fais un proc freq avec X. (Jusque là, l'atmosphère est relax, il me suffit d'utiliser un do loop dans ma macro.) Et ceci, je dois le faire pour disons 8 tableaux. Maintenant j'aimerai générer des tableaux en fonction des modalités de la variable z_i et de la table issue du output de proc freq. Ne voulant pas faire tout ça à la main, je voudrais savoir s'il est possible de récupérer les modalités de chaque variable (sachant que ces modalités varient d'une table à une autre, je m'explique: par exemple pour la variable z1, elle peut avoir les modalités 1, 2, 3 et 4 dans la table1 et avoir comme modalité 4, 5, 9... dans la table2) dans une macro disons m et ensuite faire un %do j=1 %to m; pour générer les tableaux en fonction des modalités.
En somme, je veux avoir l'effectif des modalités de chacune de ces variables en fonction de la variable X.
Je colle ci-dessous mon code, en remerciant toute personne généreuse qui me permettra de sortir de cette galère.
Merci d'avance !
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 %macro macro (); data table; set "table"; keep X z1 z2 z3 z4 z5 z6 z7 z8 z9 z10 z11;run; %do h=1 %to 8; data table&h; set table; if var=&h then output table&h;run; /* La commence la dispersion des modalités de mes variables zi*/ %do i=1 %to 11; proc freq data=table&h; tables X*z&i/ out=table&h&i (rename=(count=z&h&i)); run; /*La suite générer des tables table&h&i&j (j = les différentes modalités de la variable z&i qui est dispersée dans les différentes tables table&h*/ %end; %end; %mend macro;![]()
Partager