Sas 使用set语句选择具有模式的多个文件
我试图加载大量数据集,这些数据集的命名模式与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
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就可以工作。如果不是,你也不这么说,我不可能知道。