我是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)
等
我希望创建一个循环,这样我只需要一步,但是我不知道为什么...
答案 0 :(得分:1)
请通读SAS文档,编写一些代码,并就您尝试的内容发表新的问题。
根据索引变量的值重复执行宏的一部分。
类型: 宏语句
限制: 仅允许在宏定义中使用(我强调)
另请参阅: %END语句
…
语法
%DO macro-variable=start %TO stop <%BY increment>; text and macro language statements %END;