2013年7月22日 星期一

Creating ZIP Files with ODS

原文載點:http://support.sas.com/resources/papers/proceedings13/131-2013.pdf 
SAS雖然可以處理龐大的資料,可是有時候過於龐大的資料沒有辦法用電子郵件寄送,直接放在網路硬碟又很佔空間,上傳下載也花時間,所以能夠壓縮成ZIP檔相信是許多人會做的動作。一般人都是額外安裝winzip, winrar或7zip來額外處理壓縮檔案的事情,但其實在SAS內部整理完資料後就可以直接進行壓縮。以下這篇發表於SAS Global Forum 2013的技術文件就教導了如何用SAS ODS程序來製作ZIP壓縮檔案。
首先,用ODS PACKAGE來打開一個包裹處理壓縮過程。
ods package(ProdOutput) open ;
使用者必須先把這個包裹命名。本範例是用ProdOutput來命名,當然也可以取別的名字。不加也可以。原文內還有一個nopf的option在最後,但不加比較好。接著,把準備要壓縮進去的資料和路徑宣告進去:
ods package(ProdOutput) add file='路徑\檔名.sas7bdat';
或者
ods package(ProdOutput) add data=library.檔名;
如果使用者已經把SAS資料生好並存在硬碟的話,建議使用上述第一個程式碼。第二個程式碼目前經過我自己的測試還有一些問題,因為壓縮進去的SAS資料副檔名從.sas7bdat變成.sad。而這個.sad副檔名是無法轉換成.sas7bdat也沒有辦法讀取,所以儘量把完整路徑和檔名寫出來。 接著就是把壓縮檔的檔名和路徑宣告出來:
ods package(ProdOutput) publish archive properties(archive_name='壓縮檔名.zip' archive_path='壓縮路徑');
最後依照ODS慣例,必須把他用close關閉才算大功告成:
ods package(ProdOutput) close;
這個功能不只是可以壓縮資料檔,也可以壓縮SAS程式碼,output報表或者是其他繪圖程序做出來的圖形。可說是相當方便。

CONTACT INFORMATION
Your comments and questions are encouraged.
Contact the author at: Jack Hamilton jfh@acm.org

沒有留言:

張貼留言

要問問題的人請在文章下方的intensedebate欄位留言,請勿使用blogger預設的意見表單。今後用blogger意見表單留言的人我就不回應了。