Comment faire pour renommer l’ensemble des variables d’une table SAS, surtout quand il y en a plus d’une centaine ?
Si vos variables ont des noms organisés en séquences, vous pouvez les renommer d’un seul coup avec cette écriture :
DATA maTable ; SET maTable (RENAME = (v3-v15 = x20-x32)) ; RUN ;
Les variables s’appellent à l’origine v3, v4, v5, …, v15 et après renommage, x20, x21, …, x32.
Sinon, vous pouvez construire une table SAS avec les anciens et les nouveaux noms (éventuellement à partir d’une feuille Excel importée). L’exemple ci-dessous vous montre comment on peut ensuite générer automatiquement la litanie de RENAME.
DATA work.nouveaux_noms ; INPUT ancien $ nouveau $ ; DATALINES ; name nom sex sexe weight poids height taille ; RUN ; %LET table = sashelp.class ; /* NE PLUS RIEN MODIFIER APRES CETTE LIGNE */ DATA _NULL_ ; SET work.nouveaux_noms END = fin ; IF _N_=1 THEN DO ; CALL EXECUTE ("DATA work.nouvelle_table ;") ; CALL EXECUTE ("SET &table (RENAME=(") ; END ; CALL EXECUTE (ancien!!"="!!nouveau) ; IF fin THEN DO ; CALL EXECUTE (")) ;") ; CALL EXECUTE ("RUN ;") ; END ; RUN ;