尝试使用宏sas创建新数据集

时间:2015-06-22 18:52:12

标签: sas sas-macro

我有以下代码:

              %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”的数据集。

1 个答案:

答案 0 :(得分:1)

您在第二次微博通话中错过了一个逗号。试试

%One (Data=Bakersfield_CA,  City=12540);
%One (Data=Chico_CA,         City=17020);

一般而言,创建大量这样的小数据集是一个坏主意,因为它会使您的代码比必要的复杂得多。你想为每个城市做些什么?您可以使用分组处理对原始dataset1执行相同的操作。