当前位置:  开发笔记 > 数据库 > 正文

循环遍历表并在SAS中加入它们

如何解决《循环遍历表并在SAS中加入它们》经验,为你挑选了1个好方法。

我无法解决一个问题.

我在一个SAS库中有未知数量的表.我想创建一个循环,通过它们和"UNION ALL"这些表.

表是预先检查的,它们具有相同的结构.这些表包括历史数据,因此它应该是Union all.我尝试了以下脚本,但它会搜索所有可能性,但不会执行UNION ALL.

我很感激任何想法来解决这个问题.

%macro union_tables(table_name, last_extract); 
 %do i=1 %to &last_extract.;
        select * from data.&table_name&i
        union all
 %end;
        select * from data.&table_name&i
%mend;

proc sql; 
create table Full_history as 
%union_tables(Table_,1216);
quit;

先感谢您.



1> data _null_..:

也许你可以省去宏并使用SET语句.

data Many;
   set table_: open=defer;
   run;

如果表与变量和类型完全相同,Open = defer可以节省大量内存.

推荐阅读
惬听风吟jyy_802
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有