sas编程:循环进行宏调用

时间:2018-09-13 16:37:10

标签: sas

我是sas的新手,并具有以下宏调用:
%test(input1 =&lib._2015,input2 =&lib.base,out = out_data_2016)

现在,我需要一个循环,在下一步中将output_data_2016用作input1并创建一个新的out变量out_data_2017。然后,呼叫应如下所示:
%test(input1 = out_data_2016,input2 =&lib.base,out_data_2017)。

谢谢!

编辑:
我要观察几年(比如说2010年到2018年)。然后我需要9个宏调用:

%test (input1=&lib._2014, input2=&lib.base, out=out_data_2015) %test (input1=&lib._2015, input2=&lib.base, out=out_data_2016) %test (input1=out_data_2016, input2=&lib.base, out_data_2017)

我希望创建一个循环,这样我只需要一步,但是我不知道为什么...

1 个答案:

答案 0 :(得分:1)

请通读SAS文档,编写一些代码,并就您尝试的内容发表新的问题。

  

%DO, Iterative Statement   

根据索引变量的值重复执行宏的一部分。   

类型:   宏语句   

限制:   仅允许在宏定义中使用(我强调)   

另请参阅:   %END语句   

…   

语法   

%DO macro-variable=start %TO stop <%BY increment>; text and macro language statements %END;