前面通過對SAS Base的學(xué)習(xí),我想大家對in運算符并不陌生,它廣泛的應(yīng)用于數(shù)據(jù)步或SQL條件語句中,進行條件判斷或數(shù)據(jù)篩選,進而訪問特定觀測值。
但是在SAS中編寫宏語句時,試圖使用in運算符時log會報錯,這是因為在默認情況下,SAS宏解析器沒有開啟對in運算符的支持,而把in僅僅當成常規(guī)字符來處理,而不是運算符。那么如何在宏語句中正確使用in運算符呢,今天小編帶你一一梳理,如果你是SAS基礎(chǔ)小白,請不要錯過這篇推文噢
測試數(shù)據(jù)集
data test;
set sashelp.class;
run;
例1:在data step中使用IN語句
data test1 test2;
set test;
if age in (13 14) then output test1;
else if age in (11 12) then output test2;
run;
test1結(jié)果如下
test2結(jié)果如下
例2:在proc sql中使用IN語句
proc sql noprint;
create table test3 as
select*
from test
where name in ("Jane" "John");
quit;
結(jié)果如下:
例3:在宏語句中使用IN語句
結(jié)果如下:
可以看到當我們在宏語句中使用in運算符時在日志中會報錯,如果我們想要解決上述問題,這里提供兩種解決方案供大家參考:
(1)Method1:
可以寫成&group. =1 or &group. =2,但當選擇條件過多時使用or可能會比較繁瑣,因此對于條件過多時不推薦使用,示例如下所示。
(2)Method2:
如果我們想要開啟SAS宏解析器對in運算符的支持,我們可以用option語句在SAS會話中適時開啟,比較方便,推薦使用,示例如下所示。
如果我們只想在當前宏程序模塊下運用此運算符,只需要在宏程序參數(shù)中加上MINOPERATOR選項,示例如下所示。
-
SQL
+關(guān)注
關(guān)注
1文章
781瀏覽量
44842 -
SAS
+關(guān)注
關(guān)注
2文章
524瀏覽量
33319 -
運算符
+關(guān)注
關(guān)注
0文章
172瀏覽量
11366
發(fā)布評論請先 登錄
C語言運算符的使用方法

Java基礎(chǔ)之Java運算符
C語言程序設(shè)計--運算符與表達式
C語言32個關(guān)鍵字九種控制語句34種運算符
條件運算符是什么_條件運算符有哪些

淺析MySQL中的各類運算符

評論