Не для кого не секрет, что на SAS можно сделать любые задачи. Я бы даже сказал, что тяжело представить задачи, которые сделать нельзя.
И так появилась задача: забрать данные с FTP сервера, ну и в дальнейшем сделать различные преобразования.
Казалось бы элементарная задача.
Пишем filename … ftp ….; и в путь…
Да не тут-то было…
Задача осложнилась тем, что файлы на FTP имели различные форматы, такие как:
TXT, CSV, XLS, XLSX. Т.е. даже формат excel 2010.
Для начала давайте попробуем загрузить txt файл (внутри делимитер ‘;’):
Теперь посмотрим лог данной программы:
Из лога видно, что все загрузилось корректно и правильно.
Давай те же теперь попробуем загрузить xlsx файл:
Посмотрим теперь лог:
И мы видим ошибку. Связанную с тем, что не получиться импортировать с FTP XLSX файл.
Т.е. проблема с Excel файлами.
Честно говоря пришлось поломать голову над решением этой задачи.
Поэтому уважаемые читатели, вопрос к вам: как бы вы решили эту задачу ?
Свой вариант решения дам на слудующей неделе.
С уважением,
Николай.
"Не для кого не секрет, что на SAS можно сделать любые задачи. Я бы даже сказал, что тяжело представить задачи, которые сделать нельзя."
А SAS является Turing Complete? Можно ли на SAS написать игру Game of Life?
mozno kak to tak:)
filename webdata ftp 'ADDRESS.XLS' host=''
user='' pass='xxxxx' cd='/dept/tsd/public_html/groups/pc';
data _null_;
infile 'c:address2.xls' recfm=n ;
input x $char1. @@;
file webdata recfm=s ;
put x $char1. @@;
RUN
Алексей, ваш вариант закачивает данные на FTP. Задача же состоит в том, чтобы данные выкачать с FTP сервера.
Primerno tak ze mozno i ska4at' file v work(naprimer) i zdelat' import
Вариант для скачивания. Можно и без указания переменной:
data _null_;
infile webdata recfm=f;
input ;
file 'c:address2.xls' RECFM = n ;
put _infile_;
RUN;