Sas 使用set语句选择具有模式的多个文件

Sas 使用set语句选择具有模式的多个文件,sas,proc-sql,datastep,Sas,Proc Sql,Datastep,我试图加载大量数据集,这些数据集的命名模式与set语句中的命名模式相似 data output; set &filenames. ; 在其他问题中,我看到了一种使用procsql语句创建包含所有名称的宏的方法,但我似乎不知道如何做到这一点。我想知道是否有人能帮我构造这个procsql代码。命名模式类似于abcx03,其中abc很常见,XX正在改变(即可以是XX XY或XZ),但我只想选择带有abcx03模式的模式。我尝试了类似的方法 proc sql; select me

我试图加载大量数据集,这些数据集的命名模式与set语句中的命名模式相似

data output;
     set &filenames. ; 
在其他问题中,我看到了一种使用
procsql
语句创建包含所有名称的宏的方法,但我似乎不知道如何做到这一点。我想知道是否有人能帮我构造这个
procsql
代码。命名模式类似于
abcx03
,其中
abc
很常见,
XX
正在改变(即可以是
XX XY或XZ
),但我只想选择带有
abcx03
模式的模式。我尝试了类似的方法

proc sql;
 select memnames into :names
    separated by " " 
       from dictionary.tables
         where libname eq "LIBNAME" and 
         memname like "%XX03"
quit;

基于之前的答案

使用冒号快捷方式。这将把所有数据集附加到同一个文件中

data want;
set abc: ;
run;

非常确定这是重复的。命名模式是什么?模式类似于abcXX03、abcXY03、abcXZ03(尽管有更多组合),我只想选择abcXX03。这不是一个清晰的模式。请详细解释。DCFXX03是有效的数据集名称,还是ABCXX05?希望这更清楚。我遇到的问题是,每个文件名的公共部分是开头
abc
。结尾在
03
05
之间变化,中间有50个潜在值,因此我不能使用冒号。因此,我想要的文件名类似于
abc**03
where**正在更改,但也有类似于
abc**05
的文件我不想要。在这种情况下,我想选择具有此
abc**03
模式的所有文件。我明白了,我忘了提到这一点,模式XX对于每个文件都不相同,我只希望模式为XX,比如说,而不是XY。为什么您不能将其更改为
设置abcXX:然后呢?只要前缀是唯一可识别的,taht就可以工作。如果不是,你也不这么说,我不可能知道。