2013-10-06 6 views
0

У меня есть SAS dataset chapter5.pressure и я проверил, что это прекрасно, напечатав его proc print:Как экспортировать SAS набора данных в .dat

       Obs SBPbefore SBPafter 

           1  120   128 
           2  124   131 
           3  130   131 
           4  118   127 
           5  140   132 
           6  128   125 
           7  140   141 
           8  135   137 
           9  126   118 
           10  130   132 
           11  126   129 
           12  127   135 

Итак, я хочу, чтобы экспортировать его в файл .dat, и следующий метод не работает:

libname chapter5 'c:\users\owner\desktop\sas\chapter5'; 

data _null_; 
set chapter5.pressure; 
file 'c:\users\owner\desktop\sas\chapter5\xxx.dat'; 
put a b ; 
run; 

В результате file имеет все недостающие значения. Почему

+0

В каком формате вы хотите хранить свой .dat-файл? Это файл фиксированной ширины, файл с разделителями (запятая, пробел, табуляция и т. Д.) Или что-то еще? – Joe

ответ

3

Попробуйте использовать имена переменных вместо «a» и «b».

data _null_; 
set chapter5.pressure; 
file 'c:\users\owner\desktop\sas\chapter5\xxx.dat'; 
put SBPbefore SBPafter; 
run; 
3

Вместо того, чтобы использовать put заявление, вы можете также использовать PROC EXPORT создать файл с разделителями из набора данных SAS:

PROC EXPORT 
    DATA=chapter5.pressure 
    OUTFILE='c:\users\owner\desktop\sas\chapter5\xxx.dat' 
    DBMS=DLM 
    REPLACE; 
RUN; 

по умолчанию разделителем является пробел, который должен соответствовать тому, что вы пытаетесь делать. Чтобы создать вкладку или файл с разделителями-запятыми, измените значение параметра СУБД на TAB или CSV соответственно. Это создаст строку заголовка во внешнем файле. Here is a link to the SAS 9.2 documentation. Проверьте сайт поддержки SAS, если вы используете другую версию.

Смежные вопросы