SAS I/O Function程式範例

0
一般使用者運用 SAS 時,有時需自某一資料集,取得該資料集之總筆數或篩選條件後之筆數。
本文提供以下之 SAS Data Step 語法,運用 SAS I/O Function ,將某一資料集之總筆數及篩選後之筆數,取出後置於 SAS MACRO 變數中,供後續使用。
範例:
<< 程式 : SAS I/O Function程式範例 >>

1410_01
<< 日誌 : SAS I/O Function程式範例 >>
1410_02
程式說明如下 :
  1. 本範例先複製SASHELP.CLASS 資料集,至工作區 WORK.CLASS。
  2. DA=OPEN('WORK.CLASS(WHERE=(AGE>12)','I'); 運用 OPEN 函數,將WORK.CLASS資料集,以唯讀('I')之方式打開。同時,篩選條件為年齡大於12歲。DA之值為1,代表為第1個成功打開之唯讀資料集代碼。
  3. NUM1 = ATTRN( DA , 'NLOBS' ); 運用 ATTRN 函數,將資料集代碼為DA之資料集,以’NLOBS’參數,將資料集之總筆數,置於NUM1欄位中,共19筆。
  4. NUM2 = ATTRN( DA , 'NLOBSF' ); 運用 ATTRN 函數,將資料集代碼為DA之資料集,以’NLOBSF’參數,將資料集之篩選後筆數,置於NUM2欄位中,共12筆。
  5. CALL SYMPUTX('M_TOT_NUM' , NUM1) ; 將資料集之總筆數,置於SAS MACRO變數 M_TOT_NUM中,供後續使用。
  6. CALL SYMPUTX('M_WHR_NUM' , NUM2) ; 將資料集之篩選後之筆數,置於SAS MACRO變數 M_WHR_NUM中,供後續使用。
  7. RC = CLOSE(DA); 如果前面資料集打開成功,結束前須將此檔案關閉。
Tags
Share

About Author

SAS Taiwan

SAS 學習資源 : https://blogs.sas.com/content/sastaiwan/

Comments are closed.

Back to Top