我正在使用PROC SQL查询编写SAS代码,这将调用总计 32448桌以上。我试图避免必须复制和粘贴相同的代码30K +次。我用PROC SQL编写代码是因为SAS是我的新手,但是我将使用SAS或SQL给出答案。
有什么建议或捷径吗?
谢谢
答案 0 :(得分:0)
如果您有32,448个表,则数据模型有问题。这些极有可能只是一张桌子的重复,并按某些邮政编码(邮政编码,日期等)分割。它们应该存储在单个表中。
您还有另一个问题。根据{{3}}:
FROM子句本身可以包含一个采用 可选的表别名。这种类型的嵌套查询表达式称为 嵌入式视图。内联视图是将 在CREATE VIEW语句中有效。 PROC SQL可以支持许多级别的 嵌套,但在任何一个查询中最多只能有256个表。的 256个表的限制包括可能有助于 在FROM子句中指定的视图。
因此,使用proc sql可能无法执行您想要的操作。
答案 1 :(得分:0)
没有更多细节,很难提供确切的答案。但是通常,在SAS中,使用常规SAS代码而不是SQL进行编码会容易得多。
假设“表”一词是指SAS数据集,并进一步假设它们都在同一个库(目录/文件夹)中并且共享唯一的公共前缀(例如week
),那么组合步骤可以就这么简单:
libname mylib 'some folder name' ;
data want;
set mylib.week: ;
run;