我有以下代码:
%macro One (Data=, City=);
data &data;
set Dataset1;
Var_new=.;
if State = "CA" and CITYCODE = &City then output;
run;
%mend One;
%One (Data=Bakersfield_CA, City=12540);
%One (Data=Chico_CA City=17020);
我得到了Bakersfield_CA的第一个数据集。但是第二次宏运行时我得到错误,我没有得到任何名为“CHico_CA”的数据集。
答案 0 :(得分:1)
您在第二次微博通话中错过了一个逗号。试试
%One (Data=Bakersfield_CA, City=12540);
%One (Data=Chico_CA, City=17020);
一般而言,创建大量这样的小数据集是一个坏主意,因为它会使您的代码比必要的复杂得多。你想为每个城市做些什么?您可以使用分组处理对原始dataset1
执行相同的操作。