【发布时间】:2023-03-08 21:22:02
【问题描述】:
我有一个 SAS 数据集列表,我想按相同的变量对其进行排序。
我不想对它们中的每一个都使用 PROC Sort 语句, 有没有办法使用循环来缩短整个代码?
我是 SAS 新手,所以请帮忙!
%let prim =sasdata.qc_no_rx ;
%let other_removals = sasdata.qc_other_removals;
%let drops =sasdata.droplist;
Array data_1(3) $ sasdata.qc_no_rx sasdata.qc_other_removals
sasdata.droplist ;
do over data_1;
Proc sort data = data_1 ;
by ims_ref;
end;
【问题讨论】:
-
请发布您尝试过的内容。您很可能需要使用宏,所以请解释一下您的“数据集列表”是如何存储的,它已经在 SAS 表中了吗?还是在文本文件中或在您的脑海中?还是有他们的命名约定?
-
是的,它是 SAS 数据集(不是文本文件)的形式,我想使用 Proc 排序对所有这些数据集进行排序。我有大约 10 个数据集,所以我必须编写 10 个 Proc 排序语句(每个数据集一个)。我想用循环代替..
-
发布您尝试过的内容或至少发布您当前的代码。
-
%let prim =sasdata.qc_no_rx ; %let other_removals = sasdata.qc_other_removals; %let 滴=sasdata.droplist;数组 data_1(3) $ sasdata.qc_no_rx sasdata.qc_other_removals sasdata.droplist ;完成data_1;过程排序数据 = data_1 ;通过 ims_ref;结束;
-
我尝试在 do 循环中使用 proc 排序语句
标签: sas