Birkaç CSV veri kümesinde SAS 9.3 ile bazı analizler yapıyorum. SAS 'a söylenen dosyaların yüklenmesini otomatik olarak belirli bir dizine bakmak ve her bir dosyadaki veri kümesini ayırmak için yüklemek istedim.SAS VERİ ADIMI değişken sayıda veri kümesi bilinmeyen bir öntanımlı
SAS kodlama konusunda yeniyim, bu yüzden bazı önemli noktaları göz ardı edersem beni affet. Ben kullanacağım
kod bunun gibi:
filename filelist pipe 'dir "C:\my_path\*.csv" /b';
data file_list ; *** here I have the list of files to be read
length file_name $256 ;
infile filelist length=reclen ;
input file_name $varying256. reclen ;
run;
*** HERE I MISS HOW TO DYNAMICALLY LOAD A NUMBER OF FILES NOT KNOWN BEFORE;
*** I should find a way to say: set file_list;
proc import datafile="C:\my_path\"||file_name; *** I know that in this way doesn't work but It was just to show my idea of doing it.
out = file_name
dbms = csv
replace;
getnames = yes;
run;
Yardımlarınız için teşekkürler çok! Lütfen bu görevi çözmek için yaklaşımı tamamen düzenlemekten çekinmeyin.
bir tavsiye aldıktan sonra, kodu değiştirdim ama hala çalışmıyor...
filename filelist pipe 'dir "C:\my_path\*.csv" /b';
data file_list ; *** here I have the list of files to be read
length file_name $256 ;
infile filelist length=reclen ;
input file_name $varying256. reclen ;
run;
%MACRO load_my_csv_file(name_file=);
proc import datafile="C:\my_path\"||&name_file
out = &name_file
dbms = csv
replace;
getnames = yes;
run;
%MEND load_my_csv_file;
data _NULL_ ;
set file_list;
call execute('%load_my_csv_file(name_file='||file_name||')');
run;
Ama çalışmıyor!
Ne çalışmıyor mu tam anlamı:
Sonra birlikte diyebiliriz? – Reeza