Bonjour,
Je travaille sur SAS depuis peu et je bloque sur une automatisation de procédure. Je dois convertir des tables SAS au format csv.
Pas de problème pour effectuer cette tâche fichier par fichier avec le code suivant :
Jusqu'ici tout va bien. Seulement, j'aimerais automatiser cette tâche car j'ai beaucoup de fichiers à convertir.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 LIBNAME CONV "chemin de mon fichier"; PROC EXPORT DATA = CONV.nom_fichier OUTFILE = "C:\emplacement_destination_fichier\nom_fichier.csv" DBMS = csv REPLACE; DELIMITER = ";"; RUN;
Dans mon programme SAS j'aimerais juste avoir à modifier le chemin des tables SAS à convertir et le chemin de destination des fichiers csv exportés.
Il faudrait également que les fichiers csv portent le même nom que la table SAS correspondante.
J'ai essayé la macro suivante sans succès :
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 %let libor = C:\...\Tables; => emplacement des tables SAS à convertir %let libdes = C:\...\Out; => emplacement de destination des fichiers csv LIBNAME LIBTAB "&libor"; LIBNAME LIBOUT "&libdes"; %MACRO CONVERT (libor=,libdes=) PROC EXPORT DATA = &libor. OUTFILE = &libdes. DBMS = csv REPLACE; DELIMITER = ";"; RUN; %MEND CONVERT %CONVERT (libor=LIBTAB._ALL_,libdes=LIBOUT)
Je vous remercie pour votre aide.
A bientôt !
Partager