我正在创建多个名为" Taxes& i" (& i根据计数器I记录每个新数据集。) 我遇到的问题是在我追加表的循环之后。
当我使用此链接提供的代码时,https://support.sas.com/kb/48/810.html我在使用我现在拥有的代码并使用此代码进行流程时遇到问题。我想使用Work而不是abc。作为我的libname。对于我的计数器,我想使用& i和& n而不是'计数'而不是名称我想插入税。
当我使用& i代替8.我收到一个错误,指出无效的引用,当我将名称更改为税时,我得到18个错误,这些错误会有所不同。
%macro loop(list1, list2);
%let n=%sysfunc(countw(&list1, %str('')));
%do i=1 %to &n;
%let O_list1 = %scan(&list1, &i, %str('');
%let O_list2 = %scan(&list2, &i, %str('');
data taxes&i;
food=3*&O_List1;
materials = 4*&O_List2;
%end;
%mend;
run;
%list('1' '2', '3' '4') /*( this is "O_List1", "O_List2") */
答案 0 :(得分:1)
我想你可以那样做。
更简单的方法是使用快捷方式列表,因为您声明它们都标有TAXES& I。
这会将Taxes1中的所有数据集附加到Taxes18。
data want;
set abc.taxes1-abc.taxes18;
run;
这将附加以单词TAXES开头的所有数据集。
data want;
set abc.taxes: ;
run;