2013-10-06 79 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; 

缺省的分隔符是一個空白,這應該與您正在嘗試什麼去做。要創建制表符或逗號分隔文件,請將DBMS選項值分別更改爲TABCSV。這將在外部文件中創建一個標題行。 Here is a link to the SAS 9.2 documentation。如果您使用的是其他版本,請檢查SAS支持網站。