SAS导入多个数据集以将数据集名称保存为变量
SAS importing multiple datasets to save name of dataset as variable
我需要访问一个目录,其中包含一些名为 all_ci、all_pd、all_vs 等的 sas 数据集。ci 将是 'care info',pd将是 'patient data' 而 vs 将是 'vital stats.' 我正在这样阅读它们:
data ci_all;
set DIRECTORY.all:; run;
我得到一个 table,看起来像这样:
No.
16
25
20
这仅适用于设置以 all 开头的所有集合。问题是我需要一个如下所示的输出:
Category No.
Patient Data 16
Vital Statistics 25
Care Info 20
由于原始all_数据集没有类别标签,所以我必须手动统计all_数据集被读取的顺序,然后对其进行标注。我想知道是否有一种方法可以保存正在读入的数据集的名称,以便我可以更轻松地在行中标记它们。
在 SET 语句中使用 INDSNAME 选项。您需要将值复制到新变量,因为数据集选项中引用的变量会自动删除。
libname DIRECT 'mydirectory' ;
data ci_all;
lenght dsname indsname ;
set DIRECT.all: indsname=indsname;
dsname=indsname;
run;
我需要访问一个目录,其中包含一些名为 all_ci、all_pd、all_vs 等的 sas 数据集。ci 将是 'care info',pd将是 'patient data' 而 vs 将是 'vital stats.' 我正在这样阅读它们:
data ci_all;
set DIRECTORY.all:; run;
我得到一个 table,看起来像这样:
No.
16
25
20
这仅适用于设置以 all 开头的所有集合。问题是我需要一个如下所示的输出:
Category No.
Patient Data 16
Vital Statistics 25
Care Info 20
由于原始all_数据集没有类别标签,所以我必须手动统计all_数据集被读取的顺序,然后对其进行标注。我想知道是否有一种方法可以保存正在读入的数据集的名称,以便我可以更轻松地在行中标记它们。
在 SET 语句中使用 INDSNAME 选项。您需要将值复制到新变量,因为数据集选项中引用的变量会自动删除。
libname DIRECT 'mydirectory' ;
data ci_all;
lenght dsname indsname ;
set DIRECT.all: indsname=indsname;
dsname=indsname;
run;