分析人員於資料分析時,常常需重覆使用撰寫之程式。於SAS程式語法中,巨集語法(MACRO),最能有效的協助分析人員,重覆使用撰寫之程式。本文提供以下巨集語法之運用範例。
範例 一 : <<巨集變數(MACRO VARIABLE)之運用>>
程式說明如下 :
1. SYMBOLGEN之指令,將於SAS LOG視窗中顯示巨集變數之解碼內容。
2. %LET M_PROD=BED之指令,將BED之值儲存於M_PROD之巨集變數中。
3. %LET M_YEAR=1993之指令,將1993之值儲存於M_YEAR之巨集變數中。
4. 欲將巨集變數進行解碼時,需運用&之符號。
5. 欲將文字型態之巨集變數,進行解碼時,需運用 ” (雙引號)加於巨集變數之前後。
6. 欲將數字型態之巨集變數,進行解碼時,則無需運用 ” (雙引號)。
7. 上述之程式,產生WORK.BED1994之SAS檔案。
8. 欲重覆使用上述之撰寫程式,只需修改巨集變數,重新執行即可。如下: %LET M_PROD=SOFA; 及%LET M_YEAR=1993;
範例 二 : <<巨集程式(MACRO PROGRAM)之運用>>
程式說明如下 :
1. MPRINT之指令,將巨集程式SUBSET解碼之內容顯示於SAS LOG視窗中。
2. %MACRO SUBSET( M_PROD , M_YEAR) ; 與 %MEND SUBSET; 之指令,將建立一支巨集程式SUBSET,宣告M_PROD 與 M_YEAR 兩個SAS LOCAL 巨集變數,同時將此一巨集程式SUBSET儲存於WORK.SASMACR之SAS目錄中,等待使用者後續之重覆運用。
3. 欲運用巨集程式SUBSET產生SAS程式時,需運用%SUBSET之呼叫方式。尾端無需撰寫 ; (分號) 之指令。
4. %SUBSET( BED , 1994 ) 之指令,將產生WORK.BED1994之SAS檔案 。
5. %SUBSET( SOFA , 1993 ) 之指令,將產生WORK.SOFA1993之SAS檔案 。
6. 上述之巨集程式,可重覆使用以產生SAS程式,進而產生所需之SAS檔案。
Tags