本節書摘來自華章出版社《深入解析sas:資料處理、分析優化與商業應用》一書中的第3章,第3.6節,作者 夏坤莊 徐唯 潘紅蓮 林建偉,更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視
除了可以在sas環境中對sas資料集進行加工處理外,sas資料集的資料還可以導出到外部檔案中,以便在未安裝sas軟體的環境中使用,sas提供了export過程來實作此功能。export過程可以将sas資料集按照指定格式寫入外部文本檔案。當sas安裝中存在sas/access to pc files許可時,export過程還可以讀取寫入pc檔案中的外部資料,包括microsoft access資料庫檔案、miscrosft excel工作簿、lotus 1-2-3檔案、dbase檔案、jmp檔案、spss檔案、stata檔案和paradox等。
本節介紹如何使用export過程将sas資料集導入常用的外部檔案,例如帶分隔符的文本檔案和microsoft excel工作簿。同時,sas還提供了export向導(選擇菜單“檔案”“導出資料”)通過圖形界面的方式将sas資料集中的資料導出到上述類型的檔案中。導出過程所生成的sas語句也可以儲存起來供以後使用。
export過程的基本形式如下:
其中:
data=指定要導出的sas資料集。其後可添加資料集選項。
outfile=指定要将sas資料集中的資料寫入的檔案,可以是實體路徑或檔案引用;outtable=指定将sas資料集的内容導入microsoft access資料庫時的表名。
dbms指定所導出的資料類型。sas支援多種資料類型,例如dlm、csv、tab、access、xlsx、xls、excel、jmp、dta、spass等。
其中,dlm、csv、tab表示導出的資料檔案是分别由指定字元(預設為空格)、逗号和制表符分隔的文本檔案;access表示為使用libname語句的miscrosoft access 表;xlsx表示導出的資料檔案為micorsoft excel 2007或2010的工作簿。可參考sas幫助文檔關于導入資料類型和各類型的詳細資訊。
在export過程中還可以指定參數replace,表示當該outfile=指定的檔案存在時覆寫該檔案,如果不指定replace,則export過程不會覆寫已經存在的檔案。
1.?導出到帶分隔符的檔案
sas使用export過程将資料集中的資料導出到帶分隔符的檔案(包括dbms為dlm、csv和tab)中時,還可指定表3.14中所示的參數。
例3.35:将公司員工資訊導出到檔案中,檔案各列使用逗号(,)分隔。
代碼如下:
所導出的檔案的部分内容如下:
2.?導出到csv檔案
例3.36:将資料集saslib.employee中的檔案導出到csv檔案。
dbms為csv會預設使用逗号分隔所生成檔案中的各個列。該代碼所生成的檔案内容與上例相同,這裡不再給出。
還可以将上面代碼中的dbms=指定為“tab”,這時會生成各個列之間由制表符分隔的檔案。
3.?使用資料集選項導出部分資料
在proc export中還可以使用資料集選項導出部分變量或部分觀測。
例3.37:僅将所有員工的姓名、所在部門和入職日期導出到csv檔案。因為資料集saslib. employee中還包含其他變量,是以使用資料集選項keep=指定要導出的變量。代碼如下:
導出的檔案部分内容如下:
例3.38:将dsg部門的所有員工資訊導出到csv檔案中。
使用資料集選項where=指定導出滿足條件的觀測。所導出的檔案的部分内容如下:
4.?導出到microsoft excel檔案
例3.39:将資料集saslib.employee中的檔案導出到microsoft excel檔案。
所生成的microsoft excel檔案打開如圖3.40所示。