Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops SAS循环然后附加表_Loops_Macros_Sas_Append - Fatal编程技术网

Loops SAS循环然后附加表

Loops SAS循环然后附加表,loops,macros,sas,append,Loops,Macros,Sas,Append,我正在创建多个名为“Taxes&I”的数据集(&I根据计数器I记录每个新数据集。) 我遇到的问题是,在循环之后,我附加了表 当我使用此链接提供的代码时,我在获取我现在拥有的代码并使其与此代码一起流动时遇到问题。我想用工作代替abc。作为我的名字。对于我的计数器,我希望使用&I和&n而不是“count”,并且我希望插入税费而不是名称 当我使用&I而不是8时。我得到了一个表示无效引用的错误,当我将名称更改为taxes时,我得到了18个不同的错误 %macro loop(list1, list2);

我正在创建多个名为“Taxes&I”的数据集(&I根据计数器I记录每个新数据集。) 我遇到的问题是,在循环之后,我附加了表

当我使用此链接提供的代码时,我在获取我现在拥有的代码并使其与此代码一起流动时遇到问题。我想用工作代替abc。作为我的名字。对于我的计数器,我希望使用&I和&n而不是“count”,并且我希望插入税费而不是名称

当我使用&I而不是8时。我得到了一个表示无效引用的错误,当我将名称更改为taxes时,我得到了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") */

我想你能做到

一个更简单的方法是使用快捷方式列表,因为您声明它们都标记为TAXES&I

这将把Taxes1中的所有数据集附加到Taxes18

data want;
  set abc.taxes1-abc.taxes18;
run;
这将附加以单词TAXES开头的所有数据集

data want;
   set abc.taxes: ;
run;

您的代码没有附加,因此很难看到您是如何尝试遵循这里的示例的。哇!非常感谢你!