说我有数据' test1'它有一个变量' student_name'和English_score就可以了。我需要计算得分超过50分的学生数量,以及英语'从这个数据集。有类似的 数据集如test2,test 3,test 4等也有变量' student_name'。我想从这些数据集中获得对学生的评分以及得分超过50的学生来看看趋势。 因为我使用了SQL语句,所以无法使用该数组。有一个更好的方法吗?这是我的代码。
data Sample1;
set test1;
run;
PROC SQL;
CREATE TABLE Work.Student AS
SELECT distinct s1.student_name,
FROM Work.sample1 s1
WHERE s1.English_score > 50;
QUIT;
答案 0 :(得分:0)
您可以通过删除除了将test1重写为sample1之外什么都不做的数据步骤来优化代码。 您只需查询test1表
即可使用SQL:
PROC SQL;
CREATE TABLE Work.Student AS
SELECT distinct s1.student_name,
FROM Work.test1 s1
WHERE s1.English_score > 50;
QUIT;
或使用数据步骤:
data work.student;
set work.test1(where=(english_score gt 50));
run;
进行测试,看看哪一个更快。