Bonjour à tous,
mon problème est le suivant :
je récupère le nombre d'année que je dois considérer dans mon étude dans une macro variable avec ce code :
Du coup la dernière valeur enregistrée dans ma macro-variable nbvar est bien le nombre d'année (je précise que ce nombre est variable selon les données considérées donc je suis obligé de procéder ainsi).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 data enregistrement_nb_var; set Annees_a_considerer; compteur=_n_; call symput('nbvar',compress(compteur)); run;
J'enregistre le nom de mes variables ainsi :
Ensuite je fais la boucle :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 proc contents DATA = donnees_tcd_trans noprint out = contents ; run ; data _null_; set contents; call symput('var_'||left(trim(_N_)),name); run;
Mais cette boucle ne fonctionne pas, il ne supprime pas les colonnes, et la log affiche le message d'erreur suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 data triangle_liquidations_2; set triangle_liquidations_3; do i=1 to &nbvar.; drop &&&var_&i.; end; run;
Avez-vous une idée de comment faire pour réaliser mes drop ?
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 WARNING: Référence symbolique apparente I non traitée. 985 drop &&&var_&i.; NOTE: Ligne générée par la variable macro "I". 1 &var_& - - 22 200 200 ERROR 22-322: Erreur de syntaxe ; syntaxe requise : un nom, ;, _ALL_, _CHARACTER_, _CHAR_, _NUMERIC_. ERROR 200-322: Le symbole n'est pas reconnu et sera ignoré. 1 ! &var_& - 22 WARNING: Référence symbolique apparente VAR_ non traitée. WARNING: Référence symbolique apparente I non traitée. ERROR 22-322: Erreur de syntaxe ; syntaxe requise : un nom, -, :, ;, _ALL_, _CHARACTER_, _CHAR_, _NUMERIC_.
Merci beaucoup !
Partager