我有一个需要转换为 R 的 SAS 宏,由于我是 SAS 新手,所以在理解代码的一部分时遇到了一些麻烦。
在宏的开头,我有定义宏的这一行 -
%MACRO macroname(sdate=01JAN2011,edate=01JAN2013, FILTERS=platform in (1,2,3),OUT=data_final)
%if %length(&filters) > 2 %then %let filters = and &filters;
%else %let filters = %str( );
在宏的一个阶段中,我有以下命令 -
proc sort data = A noduplicates;
where 1 &filters;
by id, date;
run;
我了解在 where 条件下,将应用过滤条件。但是 1 有什么作用呢?同样,过滤列上的 if else 条件有什么作用?
谢谢!