Bonjour,
j'aimerai passer un paramètre pour le datafile= dans le proc import, mais ...
Tout d'abord un premier code que j'aimerais comprendre:
quand je l’exécute j'obtiens dans le log :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 data _null_; %let ici = "D:\Téléchargements\"; %let dfile0 = compress(catx(' ',&ici.,"toto.xlsx"),' ');%put "dfile0=" &dfile0; result0=&dfile0; put "result0 =" result0 $char.; %put "&dfile0 =" "&dfile0" ; %let dfile1 = compress(catx(' ',5,6),' ');%put "dfile1=" &dfile1; result1=&dfile1; put "result1 =" result1 $char.; %put "&dfile1 =" "&dfile1" ; run;
result0 =
D:\Téléchargements\toto.xlsx
result1 =
56
ce qui me convient mais pourquoi ne pas je ne récupère rien pour les %put.
Par la suite j'aimerai passer par exemple result0 comme parametre sous la forme suivante:
Enfin quelque chose de ce style.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 PROC IMPORT OUT= &lib1..&table1 DATAFILE= &dfile0 DBMS=EXCELCS REPLACE; RANGE="toto$"; RUN;
Je tourne en rond . Quelque chose m'échappe...
je ne veux pas passer le paramètre en dur dans l'appel à la macro, car le nom du répertoire où se trouve le fichier peut être très long.
D'avance merci.
Partager