gpt4 book ai didi

sas - 您如何读取多个特定数据集并将其附加到一个大数据集?

转载 作者:行者123 更新时间:2023-12-02 08:41:51 27 4
gpt4 key购买 nike

如何读取多个特定数据集并将其附加到一个大数据集?

例如,我在一个图书馆中有 100 个数据集,但我只想附加具有 _du1、_du2 的数据集

格式和列名相同

我的尝试不起作用:

PROC SQL NOPRINT;
SELECT memname INTO :tab1-:tab103 FROM sashelp.vtable
where memname like '_DU%';
SELECT count(*) INTO :obs FROM sashelp.vtable
where memname like '_DU%';
QUIT;

%macro rubber;
%do i=1 %to i=&obs;
proc append base=tot_comb data=&&tab&i force;
run;
%end;
%mend;

%rubber;

最佳答案

PROC APPEND 在这种情况下实际上可能不会更快,或者至少不会快到足以证明这样做的合理性,而不是仅仅编写一个数据步骤。

data tot_comb;
set work._DU:; *or your libname;
run;

如果您使用的是 SAS 9.2 或更高版本,这将有效。如果您使用的是 9.1 或更早版本,则需要执行一个 proc sql 步骤,例如

proc sql;
select memname into :namelist separated by ' '
from dictionary.columns
where libname='WORK' /* or your libname */
and memname eqt '_DU';
quit;
*eqt is like starts with;
data tot_comb;
set &namelist;
run;

这只需要一次写入,我不确定它会比多次调用 PROC APPEND 慢得多。

关于sas - 您如何读取多个特定数据集并将其附加到一个大数据集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15898824/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com