Faire des tableaux croisés pour plusieurs variables avec une macro
Salut,
Je n'arrive pas à comprendre ce qui ne fonctionne pas avec mon programme.
J'essaie de faire des tableaux croisés pour des variables prises 2 à 2 (variables portant le même nom mais différent en bout de chaine par cat1 ou cat2 ). Le programme ci-dessous est supposé me faire une table de fréquence entre var1_cat1 et var1_cat2 une autre table entre var2_cat1 et var2_cat2 etc.. Puis il m'exporte le résultat dans une table appelé table_var1_cat12 et enfin il me la télécharge en local.
Code:
1 2 3 4 5 6 7 8 9 10 11
| %let variable = "var1 var2 var3 var4";
%macro table_croise;
proc freq data=table noprint;
%do i=1 %to 4;
table %scan(&variable.,&i.," ")_cat1 * %scan(&variable.,&i.," ")_cat2 / out=table_%scan(&variable.,&i.," ")_cat12;
run;
proc download data=table_%scan(&variable.,&i.," ")_cat12;
run;
%end;
%mend table_croise;
%table_croise; |
Lorsque je lance le programme, sas me sous-ligne en rouge l'instruction table en mettant
Code:
ERREUR 180-322: Instruction incorrecte ou mal utilisé
:coucou: