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.
Lorsque je lance le programme, sas me sous-ligne en rouge l'instruction table en mettant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
Code : Sélectionner tout - Visualiser dans une fenêtre à part ERREUR 180-322: Instruction incorrecte ou mal utilisé
Partager