SAS中的宏語言


一、sas 宏變量

 

1) 宏變量屬於SAS宏語言,與普通變量的區別是可以獨立於DATA步

2) 可以再SAS程序中除數據行之外的任何地方定義並使用宏變量

3) %let語句定義宏變量並分配一個值給宏變量(如:%let dsn=3)

4) 當引用一個宏變量的值,放&號在宏變量前

 

5) 使用%str函數圍住宏變量的值,使得在這個值內部的分號作為這個文本的部分,而不是%let語句的結束

6) 使用%PUT語句在LOG窗口顯示宏變量的值

7) SAS/BASE中的自動宏變量,如sysver,systime(給出sas版本或會話開始執行的時間);

 

二、宏

 

1) %macro語句開始一個宏,同時給出這個宏的名字。如:%macro dsn;

2) %mend語句結束一個宏,其后給出宏名字。如%mend dsn;

3) 放一個百分數符號(%)在宏名字前面以調用一個宏,如%dsn

 

 

 

三、宏參數

 

  1.  被定義在一個%macro語句的宏名字后括號內的宏變量稱為宏參數,可以直接給出宏參數的值也可以在調用這個宏時給出這些參數的值
  2.  對參數分配的值只在這個宏執行時有效,而宏變量從用戶創建直到SAS會話結束前都存在

使用宏繪制散點圖:

 

 

 

age>50的人繪制age*weight散點圖:

 

 

四、Sas錯誤的處理

 

  1. 句法錯誤:當程序語句與SAS語言准則不一致時發現的錯誤,如關鍵詞拼錯,少掉分號等。
  2. 語義錯誤:元素在當前程序語句中的用法是無效時產生的,如DO OVER A
  3. 數據錯:當有些數據值不適合用戶規定的格式時出現
  4. 運行錯:當SAS執行程序時在數值上出現的錯誤,如用0作為除數,infile引用的文件地址不存在等
  5. 常見錯誤
  6. 遺漏run語句,在活動窗口的標題欄里顯示proc(或datastep runing
  7. 遺漏分號,在log窗口中顯示錯誤,將下一個有效的語句解釋為無效的語句
  8. 引號不配對,log信息指明字符串太長或語句被混淆
  9. 無效選項,log指明選項無效或不認識
  10. 出現錯誤時可以同時按下ctrl+break中斷程序
  11. 注意有漢字輸入的程序中可能帶來輸入法兼容性錯誤,解決方法是重新輸入並檢查錯誤


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM