如何在宏程序里使用IN運算符
作為SAS程序員大家對IN運算符一定很熟悉,幾乎每天都在用,最近遇到一個問題,就是我想在宏程序里面使用IN運算符,寫完程序運行的時候報錯了,由此而知IN運算符是不能再宏程序里使用的,今天我們想給大家介紹的是如何在宏語句中使用IN運算符。
使用時日志報錯,這是因為默認情況下,SAS宏解析器并沒有開啟對IN運算符的支持,而把IN僅當常規(guī)字符來處理,而不是運算符。如果我們需要在宏語句中啟用IN運算符,則需要開啟選項MINOPERATOR。有多種方式可開啟此功能,比如SAS配置文件、啟動選項、OPTION語句及宏程序參數(shù)設置等。比如我們可以用OPTION語句在當前SAS會話中適時開啟或關(guān)閉對IN運算符的使用:
options MINOPERATOR; /*啟用*/;
options NOMINOPERATOR; /*關(guān)閉*/;
如果我們只想在當前宏程序模塊下運用此運算符,只需要在宏程序參數(shù)中加上MINOPERATOR選項。
%macro mymacro(var1=,var2=)/MINOPERATOR MINDELIMITER=' ';
%mend;
默認情況下IN運算符依據(jù)空格來對所操作字符串進行判斷,如要應用于不同分隔符情形,比如字符串以逗號分隔,可通過選項MINDELIMITER進行相應設置:
options MINDELIMITER=','; /*逗號設置為分隔*/
請前往:http://lygongshang.com/TeacherV2.html?id=166