假设我的工作环境中有不同数量的数据集,但所有数据集都以相似的名称开头:name_abc、name_efg、name_1ky 等。这些数据集具有相同的变量和特征,我想将它们全部设置为一个数据集。
data bigdataset;
set [all datasets that begin with name_];
run;
Run Code Online (Sandbox Code Playgroud)
有没有一种方法可以在 SAS 中执行此操作,而无需输入所有数据集?我需要它能够灵活地适应工作环境中可用的数据集的数量。
使用变量名通配符:
data bigdataset;
set name_:;
run;
Run Code Online (Sandbox Code Playgroud)
变量名称前缀后面的冒号选择名称以该前缀开头的任何变量。冒号的这种能力以及一些简单的命名标准使程序员能够更好地管理临时变量,更快地格式化许多变量,确定未知数量的变量,清理宏生成的数据集,并缩短各种过程的代码。例如
Run Code Online (Sandbox Code Playgroud)data ADLB; set lb:;此 DATA 步骤读取 WORK 库中以 LB 开头的所有数据集。此外,当程序员编写此步骤时,他/她不需要知道读取了多少数据集,只需要知道他/她想要读取具有特定前缀的所有数据集。冒号和破折号列表也可以与 MERGE 语句一起使用。