1、数据步中retain语句做累加时需注意:防止因为累加里某个缺失值而导致累加后的总数为缺失。
2、用%global或者%local定义宏变量时,要明确宏变量的使用范围。
3、SAS程序中要注意一些变量配对语句的使用。例如:do...end;if then...;else if then...;else;编写程序时,这些语句不成对出现,SAS程序会出现错误。
4、宏程序中出现多个分号时,宏语句首先消耗离它最近的第一个分号。在此段代码中%if消耗的是第一个分号。
%macro Gender(sex);
%if &sex=1 %then put "Male"; "hello";
%mend;
data _null_;
%Gender(1);
run;
5、解析宏变量时,需要将特殊字符串(例如:' " () + - * / <> = ^ ~ ; , # blank & %),当成字符串,文本操作时,需要使用%NRBQUOTE函数。
6、解析宏变量时,包含在双引号中的宏变量会被替换,在单引号中宏变量当作字符串处理。
put "&mystr IBM";
put '&mystr IBM';
put &mystr;
编写程序时需要注意单引号和双引号的使用条件,避免出现用错的情况。
。。。。。。。。。。。。。。。。。
版权原因,完整文章,请参考如下:SAS编程工作中常见问题(二)