通过将它们作为列表传递来组合 sas 数据集列表
combine list of sas datasets by passing them as list
我正在尝试合并两个 sas 数据集。如何创建 file_list 并将其与 libname.&file_list 一起用于 set 语句,而不是如下所示单独调用它们。
libname my_data 'path_to_folder';
%let file_list = sas_file1 sas_file2;
data my_data.all;
set my_data.sas_file1;
set my_data.sas_file2;
run;
我也可以做这样的事情
%let file_list = my_data.sas_file1 my_data.sas_file2;
data my_data.all;
set &file_list;
run;
但我想要一个单独的数据集列表,无论 libname 是什么我都可以使用。
%macro prefix_list(prefix, list);
%do _nr = 1 %to %sysfunc(countw(&list));
&prefix.%scan(&list, &_nr)
%end;
%mend;
%let file_list = sas_file1 sas_file2;
data my_data.all;
set %prefix_list(my_data., &file_list);
run;
我正在尝试合并两个 sas 数据集。如何创建 file_list 并将其与 libname.&file_list 一起用于 set 语句,而不是如下所示单独调用它们。
libname my_data 'path_to_folder';
%let file_list = sas_file1 sas_file2;
data my_data.all;
set my_data.sas_file1;
set my_data.sas_file2;
run;
我也可以做这样的事情
%let file_list = my_data.sas_file1 my_data.sas_file2;
data my_data.all;
set &file_list;
run;
但我想要一个单独的数据集列表,无论 libname 是什么我都可以使用。
%macro prefix_list(prefix, list);
%do _nr = 1 %to %sysfunc(countw(&list));
&prefix.%scan(&list, &_nr)
%end;
%mend;
%let file_list = sas_file1 sas_file2;
data my_data.all;
set %prefix_list(my_data., &file_list);
run;